国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python實(shí)現(xiàn)MySQL操作的方法小結(jié)【安裝,連接,增刪改查等】

2019-11-25 16:01:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Python實(shí)現(xiàn)MySQL操作的方法。分享給大家供大家參考,具體如下:

1. 安裝MySQLdb.從網(wǎng)站下載Mysql for python 的package 注意有32位和64位之分.

2. 安裝完成之后從Python IDLE 導(dǎo)入MySQLdb

>>>import MySQLdb

3. 新建一個(gè)數(shù)據(jù)庫(kù)連接:

>>>conn =MySQLdb.connect(host = '127.0.0.1',user= 'root',passwd='123456',db='test',port=3306,charset='utf8')>>>

注意:其中的hsot 參數(shù)的值也可寫為host = "localhost", passwd 切勿寫成了password, port 參數(shù)需要int類型,上面的3306不要加引號(hào). charset要和數(shù)據(jù)庫(kù)的字符集相同.

4. 創(chuàng)建游標(biāo):

>>>cur = conn.cursor()>>>

5. 執(zhí)行插入單條數(shù)據(jù)命令

>>>cur.execute("insert into msg (title,name,content) values ('python','zz','test mysql insert')")1L #返回受影響的記錄條數(shù).>>>conn.commit() #需要提交事務(wù)插入才會(huì)生效.>>>

6. 利用參數(shù)插入多條數(shù)據(jù)命令

>>>sql = "insert into msg (title,name,content) values (%s,%s,%s)" #定義一個(gè)sql語(yǔ)句>>>cur.executemany(sql,[('title01','name01','content01'),('title02','name02','content02')])2L>>>conn.commit()>>>

7. 利用 for 循環(huán)拼接sql命令插入多條數(shù)據(jù)

>>>sql = "insert into msg (title,name,content) values">>>for i in range (100):  >>> sql += "('id" + str(i) + "'," + "'name" + str(i) + "'," + "'content" + str(i) + "'),">>>sql = sql[:-1] #利用切片將最后的"," 刪除.>>>cur.execute(sql)103L>>>conn.commit()>>>

8. 執(zhí)行刪除命令

>>>cur.execute("delete from msg where title = 'title02' ")1L>>>conn.commit()>>>

9. 執(zhí)行更改命令

>>>cur.execute("update msg set title='changedTitle' where title='title01'")1L>>>conn.commit()>>>

10. 執(zhí)行查詢命令

>>>cur.execute("select * from msg")3L #返回記錄條數(shù)>>>

python的查詢語(yǔ)句并不會(huì)返回?cái)?shù)據(jù)庫(kù)中存取的實(shí)際值, 僅返回獲得的記錄條數(shù), 那么想要獲得數(shù)據(jù)庫(kù)中的值該怎么做呢?

我們需要用到游標(biāo)的fetch.

11. 利用fetchone()獲得一條記錄.該條記錄是當(dāng)前游標(biāo)所在行的下一行數(shù)據(jù).

>>>cur.fetchone()(1L, 'title01', 'name01', 'content01')

12. 利用fetchmany(size=num) 獲取多條記錄.

>>>cur.fetchmany(size=5)((2L, 'python', 'ChenYL', 'insert content'), (3L, 'py03', 'name03', 'content03'), (4L, 'py04', 'name04', 'content04'), (5L, 'id0', 'name0', 'content0'), (7L, 'id2', 'name2', 'content2'))>>>

Note: 此處若查詢數(shù)據(jù)多于size參數(shù)則獲取和size參數(shù)相同的記錄條數(shù), 若查詢數(shù)據(jù)記錄少于size參數(shù)的值,則只顯示查詢到的數(shù)據(jù)記錄條數(shù).

13. 利用fetchall()獲取從游標(biāo)位置下一行開始直到查詢記錄結(jié)束的全部記錄.

>>>cur.fetchall()105L>>>

14. 利用scroll()移動(dòng)游標(biāo)

>>>cur.scroll(1,mode="absolute")>>>

Note: 當(dāng)mode為absolute時(shí)游標(biāo)走到表中的第一個(gè)參數(shù)行(若第一個(gè)參數(shù)為1,則走到表中第一行),次數(shù)用fetchone()會(huì)取到第二行.

當(dāng)mode為relative是,此時(shí)游標(biāo)會(huì)往下走一行, 假如游標(biāo)在第三行, scroll之后會(huì)走到第四行.

15. 數(shù)據(jù)庫(kù)使用完之后記得關(guān)閉游標(biāo). 關(guān)閉數(shù)據(jù)庫(kù)連接.

>>>cur.close()>>>conn.close

注: 上述實(shí)例執(zhí)行結(jié)果返回的記錄條數(shù)和結(jié)果與數(shù)據(jù)庫(kù)中記錄相關(guān).

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫(kù)操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东光县| 顺平县| 阜康市| 巩义市| 孙吴县| 平遥县| 苏尼特左旗| 两当县| 科技| 常熟市| 榆树市| 洪江市| 合山市| 九寨沟县| 肥乡县| 绥江县| 磐石市| 大理市| 洛宁县| 克什克腾旗| 沂南县| 油尖旺区| 日喀则市| 利津县| 贵州省| 遂宁市| 阿克苏市| 阳城县| 遂平县| 夏津县| 阿拉善右旗| 张家港市| 茂名市| 安多县| 古田县| 浦东新区| 日喀则市| 岳普湖县| 黔东| 红桥区| 外汇|