mysql是一種關係型資料庫,被廣泛運用於**。
基本的使用如上,還是很簡單的,進一步使用還沒操作,先從網上找點資料放上來,以備後續檢視
1.引入mysqldb庫
import mysqldb
網上有exe直接安裝的。
2.和資料庫建立連線
conn=mysqldb.connect(host="localhost",user="root",passwd="sa",db="mytable",charset="utf8")
提供的connect方法用來和資料庫建立連線,接收數個引數,返回連線物件.
比較常用的引數包括
host:資料庫主機名.預設是用本地主機.
user:資料庫登陸名.預設是當前使用者.
passwd:資料庫登陸的秘密.預設為空.
db:要使用的資料庫名.沒有預設值.
port:mysql服務使用的tcp埠.預設是3306.
charset:資料庫編碼.
更多關於引數的資訊可以查這裡
然後,這個連線物件也提供了對事務操作的支援,標準的方法
commit() 提交
rollback() 回滾
3.執行sql語句和接收返回值
cursor=conn.cursor()
n=cursor.execute(sql,param)
首先,我們用使用連線物件獲得乙個cursor物件,接下來,我們會使用cursor提供的方法來進行工作.這些方法包括兩大類:1.執行命令,2.接收返回值
cursor用來執行命令的方法:
callproc(self, procname, args):用來執行儲存過程,接收的引數為儲存過程名和引數列表,返回值為受影響的行數
execute(self, query, args):執行單條sql語句,接收的引數為sql語句本身和使用的引數列表,返回值為受影響的行數
executemany(self, query, args):執行單條sql語句,但是重複執行引數列表裡的引數,返回值為受影響的行數
nextset(self):移動到下乙個結果集
cursor用來接收返回值的方法:
fetchall(self):接收全部的返回結果行.
fetchmany(self, size=none):接收size條返回結果行.如果size的值大於返回的結果行的數量,則會返回cursor.arraysize條資料.
fetchone(self):返回一條結果行.
scroll(self, value, mode='relative'):移動指標到某一行.如果mode='relative',則表示從當前所在行移動value條,如果mode='absolute',則表示從結果集的第一行移動value條.
下面的**是乙個完整的例子.
#使用sql語句,這裡要接收的引數都用%s佔位符.要注意的是,
無論你要插入的資料是什麼型別,佔位符永遠都要用%s
sql="insert into cdinfo values(%s,%s,%s,%s,%s)"
#param應該為tuple或者list
param=(title,singer,imgurl,url,alpha)
#執行,如果成功,n的值為1
n=cursor.execute(sql,param)
#再來執行乙個查詢的操作
cursor.execute("select * from cdinfo")
#我們使用了fetchall這個方法.這樣,cds裡儲存的將會是查詢返回的全部結果.每條結果都是乙個tuple型別的資料,這些tuple組成了乙個tuple
cds=cursor.fetchall()
#因為是tuple,所以可以這樣使用結果集
print cds[0][3]
#或者直接顯示出來,看看結果集的真實樣子
print cds
#如果需要批量的插入資料,就這樣做
sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"
#每個值的集合為乙個tuple,整個引數集組成乙個tuple,或者list
param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))
#使用executemany方法來批量的插入資料.這真是乙個很酷的方法!
n=cursor.executemany(sql,param)
4.關閉資料庫連線
需要分別的關閉指標物件和連線物件.他們有名字相同的方法
cursor.close()
conn.close()
四步完成,基本的資料庫操作就是這樣了.下面是兩個有用的連線
mysqldb使用者指南:
mysqldb文件:
5 編碼(防止亂碼)
Datawhale學習計畫 python基礎任務2
1.列表 a.標誌 pop方法 a.pop 刪除列表末尾 a.pop i 刪除某個位置 del del a 2 拷貝b a.copy c.列表相關方法 len list 列表元素個數 max list 返回列表元素最大值 min list 返回列表元素最小值 list seq 將元組轉換為列表 參考...
MySQL學習筆記(一)MySQL的介紹和基本操作
mysql是乙個開源的關係型資料庫管理系統 啟動mysql服務的命令列 net start mysql 停止mysql服務的命令列 net stop mysql 所有的windows的服務都可以通過net start stop進行啟動和停止。mysql登陸 格式 mysql引數,如mysql uro...
Python的學習筆記(2)Python的基礎
1 變數的賦值 示例如下 coding utf 8 c 100 m 10.231 l mk n a b d 11 e,f,g 1,3,hello print c print m print l print k print a print b print d print e print f print...