這篇文章主要為大家詳細介紹了mysql適配器pymysql的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文我們為大家介紹 Python3 使用 PyMySQL 連接數據庫,并實現簡單的增刪改查。
什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫,Python2中則使用mysqldb。
PyMySQL 遵循 Python 數據庫 API v2.0 規范,并包含了 pure-Python MySQL 客戶端庫。
PyMySQL 安裝
在使用 PyMySQL 之前,我們需要確保 PyMySQL 已安裝。
PyMySQL 下載
如果還未安裝,我們可以使用以下命令安裝最新版的 PyMySQL:
$?pip?install?PyMySQL
如果你的系統不支持 pip 命令,可以使用以下方式安裝:
1、使用 git 命令下載安裝包安裝(你也可以手動下載):
$?git?clone?https://github.com/PyMySQL/PyMySQL $?cd?PyMySQL/ $?python3?setup.py?install
2、數據庫操作實例,直接上代碼。
import?pymysql import?datainfo import?time #獲取參數 host?=?datainfo.host username?=?datainfo.username password?=?datainfo.password database?=?datainfo.db print() #測試數據庫連接 def?testconnect(): ?#打開數據庫鏈接 ?db?=?pymysql.connect(host,username,password,database) ?#使用cursor()?方法創建一個游標對象?cursor ?cursor?=?db.cursor() ?#使用execute()方法執行SQL查詢 ?cursor.execute("select?version()") ?#使用fetchone?()獲取單條數據 ?data?=?cursor.fetchone() ?print(data) ?db.close() #插入數據庫 def?InsertDate(): ?#打開數據庫鏈接 ?db?=?pymysql.connect(host,username,password,database,charset='utf8') ?#使用cursor()?方法創建一個游標對象?cursor ?cursor?=?db.cursor() ?create_time?=?time.strftime('%Y-%m-%d?%H:%M:%S') ?update_time?=?time.strftime('%Y-%m-%d?%H:%M:%S') ?start_time?=?time.strftime('%Y-%m-%d?%H:%M:%S') ?end_time?=?time.strftime('%Y-%m-%d?%H:%M:%S') ?remark?=?"測試插入信息" ?print("開始") ?#Sql?插入語句 ?sql?=?"insert?into?demo(start_time,end_time,creat_time,update_time,remark)?"? ???"VALUES?('%s','%s','%s','%s','%s')" ???%(start_time,end_time,create_time,update_time,remark) ?try: ??#執行sql ??print("執行插入") ??tt?=?cursor.execute(sql) ??print(tt) ??db.commit() ?except?UnicodeEncodeError?as?e?: ??#發生錯誤時回滾 ??print(e) ??db.rollback() ?db.close() #查詢操作 def?selectData(): ?db?=?pymysql.connect(host,?username,?password,?database,?charset='utf8') ?#?使用cursor()?方法創建一個游標對象?cursor ?cursor?=?db.cursor() ?sql?=?"select?*?from?demo?where?id?>='%d'"?%(1) ?try: ??#執行sql ??print("執行查詢") ??cursor.execute(sql) ??results?=?cursor.fetchall() ??for?row?in?results: ???id?=?row[0] ???start_time?=?row[1] ???end_time?=?row[2] ???create_time?=?row[3] ???update_time?=?row[4] ???remark?=?row[5] ???#打印結果 ???print("id?=?%d,start_time=%s,end_time=%s,create_time=%s,update_time=%s,remark=%s"?%(id,start_time,end_time,create_time,update_time,remark)) ??db.commit() ?except?UnicodeEncodeError?as?e?: ??#發生錯誤時回滾 ??print(e) ?db.close() #更新操作 def?update_data(): ?db?=?pymysql.connect(host,?username,?password,?database,?charset='utf8') ?#?使用cursor()?方法創建一個游標對象?cursor ?cursor?=?db.cursor() ?update_time?=?time.strftime('%Y-%m-%d?%H:%M:%S') ?sql?=?"update?demo?set?update_time?='%s'?where?id?>='%d'?"?%(update_time,1) ?try: ??#執行sql ??print("執行更新") ??cursor.execute(sql) ??db.commit() ?except?UnicodeEncodeError?as?e?: ??#發生錯誤時回滾 ??print(e) ??db.rollback() ?db.close() #刪除操作 def?delete_Date(): ?db?=?pymysql.connect(host,?username,?password,?database,?charset='utf8') ?#?使用cursor()?方法創建一個游標對象?cursor ?cursor?=?db.cursor() ?sql?=?"delete?from?demo?where?id?
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END