win64位元安裝python-mysqldb1.2.5
ubuntu下安裝MySQLdb
sudo apt-get install python-MySQLdb
匯入MySQLdb庫
import MySQLdb
建立資料庫連線
conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="test",charset="utf8")
#commit():如果資料庫表進行了修改,提交儲存目前的資料。當然,如果此使用者沒有權限就作罷了,什麼事也不會發生。
rollback():如果有權限,就取消目前的動作,否則報錯。
cursor([cursorclass]):遊標指標。
cur = conn.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()
或cur.scroll(n,"relative")
:意思是相對目前位置向上或向下移動,n為正數,表示向下(向前),n為負數,表示向上(向後)
cur.scroll(1) cur.scroll(-2) cur.scroll(2,"absolute") #回到序号是2,但指向第三条
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"
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中文網其他相關文章!