MySQL適配器之PyMySQL的詳細介紹

這篇文章主要為大家詳細介紹了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
喜歡就支持一下吧
點贊8 分享