Python實現(xiàn)MySQL操作的方法小結(jié)【安裝,連接,增刪改查等】
本文實例講述了Python實現(xiàn)MySQL操作的方法。分享給大家供大家參考,具體如下:
1. 安裝MySQLdb.從網(wǎng)站下載Mysql for python 的package 注意有32位和64位之分.
2. 安裝完成之后從Python IDLE 導入MySQLdb
>>>import MySQLdb
3. 新建一個數(shù)據(jù)庫連接:
>>>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不要加引號. charset要和數(shù)據(jù)庫的字符集相同.
4. 創(chuàng)建游標:
>>>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ù)插入才會生效. >>>
6. 利用參數(shù)插入多條數(shù)據(jù)命令
>>>sql = "insert into msg (title,name,content) values (%s,%s,%s)" #定義一個sql語句 >>>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的查詢語句并不會返回數(shù)據(jù)庫中存取的實際值, 僅返回獲得的記錄條數(shù), 那么想要獲得數(shù)據(jù)庫中的值該怎么做呢?
我們需要用到游標的fetch.
11. 利用fetchone()獲得一條記錄.該條記錄是當前游標所在行的下一行數(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()獲取從游標位置下一行開始直到查詢記錄結(jié)束的全部記錄.
>>>cur.fetchall() 105L >>>
14. 利用scroll()移動游標
>>>cur.scroll(1,mode="absolute") >>>
Note: 當mode為absolute時游標走到表中的第一個參數(shù)行(若第一個參數(shù)為1,則走到表中第一行),次數(shù)用fetchone()會取到第二行.
當mode為relative是,此時游標會往下走一行, 假如游標在第三行, scroll之后會走到第四行.
15. 數(shù)據(jù)庫使用完之后記得關(guān)閉游標. 關(guān)閉數(shù)據(jù)庫連接.
>>>cur.close() >>>conn.close
注: 上述實例執(zhí)行結(jié)果返回的記錄條數(shù)和結(jié)果與數(shù)據(jù)庫中記錄相關(guān).
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
- python Django連接MySQL數(shù)據(jù)庫做增刪改查
- 詳解使用pymysql在python中對mysql的增刪改查操作(綜合)
- Python實現(xiàn)連接MySql數(shù)據(jù)庫及增刪改查操作詳解
- Python+Django+MySQL實現(xiàn)基于Web版的增刪改查的示例代碼
- python實現(xiàn)的MySQL增刪改查操作實例小結(jié)
- python django 增刪改查操作 數(shù)據(jù)庫Mysql
- Python連接mysql數(shù)據(jù)庫及簡單增刪改查操作示例代碼
- Python操作MySQL數(shù)據(jù)庫實例詳解【安裝、連接、增刪改查等】
- Python使用pymysql模塊操作mysql增刪改查實例分析
- Python接入MySQL實現(xiàn)增刪改查的實戰(zhàn)記錄
相關(guān)文章
python 函數(shù)中的內(nèi)置函數(shù)及用法詳解
這篇文章主要介紹了python 函數(shù)中的內(nèi)置函數(shù) 及用法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07Python中動態(tài)檢測編碼chardet的使用教程
最近利用python抓取一些網(wǎng)上的數(shù)據(jù),遇到了編碼的問題。非常頭痛,幸運的是找到了解決的方法,下面這篇文章主要跟大家介紹了關(guān)于Python中動態(tài)檢測編碼chardet的使用方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07Python通過Socket手動實現(xiàn)HTTP協(xié)議
這篇文章主要為大家詳細介紹了Python如何通過Socket手動實現(xiàn)HTTP協(xié)議,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一2024-03-03python 百度aip實現(xiàn)文字識別的實現(xiàn)示例
百度aip將圖片或掃描件中的文字識別成可編輯的文本,本文主要介紹了python 百度aip實現(xiàn)文字識別,具有一定的參考價值,感興趣的可以了解一下2021-08-08