Python 中使用 PyMySQL模塊操作數(shù)據(jù)庫的方法
之前用的Python2,連接MySQL用的是MySQLdb?,F(xiàn)在換成python3.x了,由于 MySQLdb 模塊還不支持 Python3.x,所以 Python3.x 如果想連接MySQL需要安裝 PyMySQL模塊,以下將介紹PyMySQL的安裝及常用操作。
一、安裝
pip install PyMySQL
二、常用操作
查詢數(shù)據(jù)
import pymysql # 連接數(shù)據(jù)庫 conn = pymysql.connect( host='127.0.0.1', user='root', passwd='root', port=3306, db='test', charset='utf8' ) # 創(chuàng)建一個(gè)游標(biāo) cursor = conn.cursor() # 查詢數(shù)據(jù) sql = "select * from user" cursor.execute(sql) # 執(zhí)行sql # 查詢所有數(shù)據(jù),返回結(jié)果默認(rèn)以元組形式,所以可以進(jìn)行迭代處理 for i in cursor.fetchall(): print(i) print('共查詢到:', cursor.rowcount, '條數(shù)據(jù)。') # 獲取第一行數(shù)據(jù) result_1 = cursor.fetchone() print(result_1) # 獲取前n行數(shù)據(jù) result_3 = cursor.fetchmany(3) print(result_3) cursor.close() # 關(guān)閉游標(biāo) conn.close() # 關(guān)閉連接
插入數(shù)據(jù)
執(zhí)行完插入語句后一定要執(zhí)行.commit()進(jìn)行提交事務(wù),可以插入多條后統(tǒng)一提交,否則操作無效
import pymysql # 連接數(shù)據(jù)庫 conn = pymysql.connect( host='127.0.0.1', user='root', passwd='root', port=3306, db='test', charset='utf8' ) # 創(chuàng)建一個(gè)游標(biāo) cursor = conn.cursor() # 插入數(shù)據(jù) # 數(shù)據(jù)直接寫在sql后面 sql = "insert into username(id,name) values(%s, %s)" # 注意是%s,不是s% cursor.execute(sql, [3, '王五']) # 列表格式數(shù)據(jù) cursor.execute(sql, (4, '馬六')) # 元組格式數(shù)據(jù) # 數(shù)據(jù)單獨(dú)賦給一個(gè)對(duì)象 sql = "insert into username values(%s,%s)" data = (5, '老七') cursor.execute(sql, data) #sql和data之間以","隔開 sql = "insert into username values(%s,'%s')" data = (6, '小八') cursor.execute(sql % data) #sql和data之間以"%"隔開,此時(shí)它的sql中注意要給中文字符對(duì)應(yīng)的占位符加上引號(hào),即"%s",不然會(huì)報(bào)錯(cuò):unsupported format character conn.commit() # 提交,不然無法保存插入或者修改的數(shù)據(jù)(這個(gè)一定不要忘記加上) cursor.close() # 關(guān)閉游標(biāo) conn.close() # 關(guān)閉連接
修改數(shù)據(jù)
執(zhí)行完修改語句后一定要執(zhí)行.commit()進(jìn)行提交事務(wù),可以修改多條后統(tǒng)一提交,否則操作無效
import pymysql # 連接數(shù)據(jù)庫 conn = pymysql.connect( host='127.0.0.1', user='root', passwd='root', port=3306, db='test', charset='utf8' ) # 創(chuàng)建一個(gè)游標(biāo) cursor = conn.cursor() # 修改數(shù)據(jù) sql = "update username set name='%s' where id=%s" #注意%s什么時(shí)候加引號(hào),什么時(shí)候不加 data = ('改名了', 1) cursor.execute(sql % data) sql = "update username set name=%s where id=%s" data = ('也改名了', 2) cursor.execute(sql, data) conn.commit() # 提交,不然無法保存插入或者修改的數(shù)據(jù) cursor.close() # 關(guān)閉游標(biāo) conn.close() # 關(guān)閉連接
刪除數(shù)據(jù)
執(zhí)行完刪除語句后一定要執(zhí)行.commit()進(jìn)行提交事務(wù),可以刪除多條后統(tǒng)一提交,否則操作無效
import pymysql # 連接數(shù)據(jù)庫 conn = pymysql.connect( host='127.0.0.1', user='root', passwd='root', port=3306, db='test', charset='utf8' ) # 創(chuàng)建一個(gè)游標(biāo) cursor = conn.cursor() # 刪除數(shù)據(jù) sql = "delete from username where id=%s" data = (2) cursor.execute(sql, data) conn.commit() # 提交,不然刪除操作不生效 cursor.close() # 關(guān)閉游標(biāo) conn.close() # 關(guān)閉連接
總結(jié)
以上所述是小編給大家介紹的Python 中使用 PyMySQL操作數(shù)據(jù)庫的方法,希望對(duì)大家有所幫助!
- Python中操作mysql的pymysql模塊詳解
- Python中模塊pymysql查詢結(jié)果后如何獲取字段列表
- Python中pymysql 模塊的使用詳解
- 使用python連接mysql數(shù)據(jù)庫之pymysql模塊的使用
- python之pymysql模塊簡(jiǎn)單應(yīng)用示例代碼
- Python使用pymysql模塊操作mysql增刪改查實(shí)例分析
- Python 解析pymysql模塊操作數(shù)據(jù)庫的方法
- Python pymysql模塊安裝并操作過程解析
- python使用pymysql模塊操作MySQL
- Python中使用PyMySQL模塊的方法詳解
相關(guān)文章
pandas 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)
這篇文章主要介紹了pandas 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Django中URL視圖函數(shù)的一些高級(jí)概念介紹
這篇文章主要介紹了Django中URL視圖函數(shù)的一些高級(jí)概念,Django是Python重多人氣框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07關(guān)于python3.7安裝matplotlib始終無法成功的問題的解決
這篇文章主要介紹了關(guān)于python3.7安裝matplotlib始終無法成功的問題的解決,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python+selenium小米商城紅米K40手機(jī)自動(dòng)搶購的示例代碼
這篇文章主要介紹了python+selenium小米商城紅米K40手機(jī)自動(dòng)搶購的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03解決Python報(bào)錯(cuò):SyntaxError:?invalid?character?‘,‘?(U+FF0C)
Python中的 SyntaxError錯(cuò)誤是Python語言中常見的異常錯(cuò)誤類型之一,表示語法錯(cuò)誤,下面這篇文章主要給大家介紹了關(guān)于解決Python報(bào)錯(cuò):SyntaxError:?invalid?character?‘,‘?(U+FF0C)的相關(guān)資料,需要的朋友可以參考下2022-12-12tensorflow安裝成功import tensorflow 出現(xiàn)問題
這篇文章主要介紹了tensorflow安裝成功import tensorflow 出現(xiàn)問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python 實(shí)現(xiàn)selenium斷言和驗(yàn)證的方法
今天小編就為大家分享一篇python 實(shí)現(xiàn)selenium斷言和驗(yàn)證的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02Python開發(fā)之基于模板匹配的信用卡數(shù)字識(shí)別功能
這篇文章主要介紹了基于模板匹配的信用卡數(shù)字識(shí)別功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01