win64비트 설치 python-mysqldb1.2.5
우분투에서 MySQLdb 설치
sudo apt-get install python-MySQLdb
MySQLdb 라이브러리 가져오기
import MySQLdb
데이터베이스 연결 만들기
conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="test",charset="utf8")
객체 속성 연결
commit()
: 데이터베이스 테이블이 수정된 경우 현재 데이터를 저장하도록 커밋합니다. 물론 이 사용자가 권한이 없이 그냥 하면 아무 일도 일어나지 않습니다. commit()
:如果数据库表进行了修改,提交保存当前的数据。当然,如果此用户没有权限就作罢了,什么也不会发生。
rollback()
:如果有权限,就取消当前的操作,否则报错。
cursor([cursorclass])
:游标指针。
创建游标(指针)cursor
cur = conn.cursor()
cursor执行命令的方法:
execute(query, args)
:执行单条sql语句。query为sql语句本身,args为参数值的列表。执行后返回值为受影响的行数。
executemany(query, args)
:执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
在数据表中插入一条记录
cur.execute("insert into users (username,password,email) values (%s,%s,%s)",("python","123456","python@gmail.com"))
在数据表中插入多条记录
cur.executemany("insert into users (username,password,email) values (%s,%s,%s)",(("google","111222","g@gmail.com"),("facebook","222333","f@face.book"),("github","333444","git@hub.com"),("docker","444555","doc@ker.com")))
提交数据库操作
conn.commit()
查询数据
cur.execute("select * from users")
fetchall(self)
:接收全部的返回结果行.
fetchmany(size=None)
:接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
fetchone()
:返回一条结果行.
scroll(value, mode='relative')
:移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条.
cur.execute("select * from users") lines = cur.fetchall() for line in lines: print line cur.execute("select * from users where id=1") line_first = cur.fetchone() #只返回一条 print line_first cur.execute("select * from users") print cur.fetchall()
cursor对象获取数据的方法
游标cursor的操作
cur.scroll(n)
或cur.scroll(n,"relative")
rollback()
: 권한이 있으면 현재 작업을 취소하세요. 그렇지 않으면 오류가 보고됩니다.
cursor([cursorclass])
: 커서 포인터. cur.scroll(1) cur.scroll(-2) cur.scroll(2,"absolute") #回到序号是2,但指向第三条
execute(query, args)
: 단일 SQL 문을 실행합니다. query는 SQL 문 자체이고 args는 매개변수 값 목록입니다. 실행 후 반환 값은 영향을 받은 행의 수입니다.
executemany(query, args)
: 단일 SQL 문을 실행하지만 매개변수 목록의 매개변수를 반복적으로 실행하고 반환 값은 영향을 받은 행의 수입니다.
Insert 데이터 테이블에 하나의 레코드
cur.execute("update users set username=%s where id=2",("mypython")) conn.commit()
conn = MySQLdb.connect("localhost","root","123456",port=3306,charset="utf8") #创建数据库时不指定那个数据库 conn.select_db("test") #连接创建后再指定
cur.close() #先关闭游标 conn.close() #再关闭数据库
class 类名: 成员变量 成员函数 class MyClass(): first = 123 def fun(self): print "I am function"
fetchall(self)
:모든 반환 결과 행을 수신합니다. fetchmany(size=None)
: 크기 값이 반환된 결과 행 수보다 큰 경우 커서.배열 크기 데이터입니다. .fetchone()
: 결과 행을 반환합니다. scroll(value, mode='relative')
: 포인터를 다음으로 이동합니다. mode='relative'인 경우 현재 행에서 값 막대를 이동하는 것을 의미합니다. mode='absolute'인 경우 결과 집합의 첫 번째 행에서 값 막대를 이동하는 것을 의미합니다. 커서 객체가 데이터를 얻는 방법cur.scroll(n)
또는 cur.scroll(n, "relative")
: 현재 위치를 기준으로 위쪽 또는 아래쪽으로 이동을 의미하며, n은 양수로 아래쪽(앞으로)을 의미하고, n은 음수로 위쪽(뒤로)을 의미합니다. if __name__ == "__main__": myClass = MyClass() #创建类的一个实例
class Person: def __init__(self, name, lang, website): self.name = name self.lang = lang self.website = website
# 抽象形状类 class Shape: # 类的属性 edge = 0 # 构造函数 def __init__(self, edge): self.edge = edge # 类的方法 def getEdge(self): return self.edge # 抽象方法 def getArea(self): pass #三角形类,继承抽象形状类 class Triangle(Shape): width = 0 height = 0 # 构造函数 def __init__(self, width, height): #调用父类构造函数 Shape.__init__(self, 3) self.width = width self.height = height #重写方法 def getArea(self): return self.width * self.height / 2 #四边形类,继承抽象形状类 class Rectangle(Shape): width = 0 height = 0 # 构造函数 def __init__(self, width, height): #调用父类构造函数 Shape.__init__(self, 4) self.width = width self.height = height #重写方法 def getArea(self): return self.width * self.height triangle = Triangle(4,5); print triangle.getEdge() print triangle.getArea() rectangle = Rectangle(4,5); print rectangle.getEdge() print rectangle.getArea()
절차적 및 객체 지향 프로그래밍
위 내용은 Python 기본 지식 포인트 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!