日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PyMQL简单使用【入门CRUD】

發布時間:2024/3/13 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyMQL简单使用【入门CRUD】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PyMQL簡單使用【入門CRUD】

pymysql是python3中的mysqldb(python2)

在使用這個庫之前,首先你得確保自己會使用基本的SQL語句,對MySQL數據庫具有一定的了解(基本即可)。

一、安裝

通過pip進行安裝:

pip install pymysql
二、通過數據庫可視化程序/終端建數據庫和表

? pymysql在使用之前,需要通過數據庫可視化程序/終端建立數據庫

三、使用pymysql操作數據庫
  • 連接數據庫:

    我們通過一下必填參數連接數據庫:

    # 連接Mysql conn = pymysql.connect(host='127.0.0.1',user='自定義用戶名(root)',password="自定義密碼",database='數據庫名稱',port=3306,charset='utf8' )

    其中的host,user,password,port,database均為定位到數據庫所需要的參數,而charset用于指定該數據庫的編碼格式,需要與建立數據庫的時候(create database 數據庫名稱 charset=‘xxxx’)保持一致(一般為utf8)

  • 獲取游標對象:

    連接成功后我們可以通過conn拿到其中的cursor對象,該對象即為執行SQL語句以及拿到相關結果的操作對象,也就是直譯的游標對象。

    # 創建游標對象 cursor = conn.cursor()
  • 編寫SQL語句并執行:

    使用pymql需要自己手動進行SQL語句的編寫,而SQL語句的基本增刪改查語句中,只有查詢語句不會被數據庫造成影響,其他語句則均會對數據庫產生作用效果。

    pymysql為了避免由于出現異常或者錯誤情況而導致數據庫出現狀況,所有對數據庫造成實際影響的語句,均需要通過con.commit()方法來提交所有的變更。

    另外pymysql在執行SQL語句的方法cursor.execute()方法中,可以多輸入一個參數,這個參數可以是數組(list)/元組(tuple)/字典(dict),pymysql會在內部對該參數進行處理,并自動將其處理為對應完整SQL語句。

    接下來的語句中也將分別使用數組/元組/dict三種形式來演示相關的寫法,同時這三者是通用的。

    注意一下語句,插入表為info,該表具有id,name,age,gender四個屬性,可自信修改為自己所需要的屬性。

    • 查詢語句
    # 編寫SQL語句 sql = 'select * from info' # 表名請自行修改為自定義參數 # 純字符串模式,單參數 cursor.execute(sql)
    • 插入語句
    # 編寫增加的sql語句 sql = "insert into info(name,age,gender) values (%s,%s,%s)" # 使用數組進行賦值插入,即第二個參數使用數組形式 add_data = ['云無月', 4500, '女'] cursor.execute(sql, add_data)
    • 修改語句
    # 編寫修改的sql語句 sql = "update info set name=%s where name=%s" # 第二個參數使用元組形式,實際上可以與上文數組寫法完全一致(也可以直接自行拼接字符串) add_data = ('王牛蛙', '王辟邪') # 注意len返回的是修改的數目 也就是數據庫修改時的數字返回值 len = cursor.execute(sql, add_data)
    • 刪除語句
    # 注意,如果要使用dict(JSON)作為sql語句補位,那么補位的位置寫法為%(key命)s # 如下補位為id: sql = "delete from info where id =%(id)s" add_data = {"name": "岑纓","id" : 28 } # 執行dict形式的補位 cursor.execute(sql, add_data)
  • 釋放資源:

    # 關閉游標 cursor.close() # 關閉連接 conn.close()
  • 異常處理與回滾:

    pymysql在連接的時候,就會對當前數據庫進行一次快照(保留未操作初始狀態),如果出現錯誤情況,可以通過conn.rollback()方法進行回滾。

    由于數據庫操作涉及到網絡和其他設備的操作,所以必須需要做好異常處理。

    通常我們會進行如下格式的異常處理:

    #!/usr/bin/env python # -*- coding: utf-8 -*- # 導包 import pymysql# 連接Mysql conn = pymysql.connect(host='127.0.0.1',user='自定義用戶名(root)',password="自定義密碼",database='數據庫名稱',port=3306,charset='utf8' ) try:# 創建游標對象cursor = conn.cursor()# 編寫增加/刪除/修改的sql語句# 編寫SQL語句,進行相關操作...# ...如:sql = "delete from info where id =%(id)s"add_data = {"name": "岑纓","id" : 28}# 執行編寫的SQL語句cursor.execute(sql, add_data)# 提交修改conn.commit()# 關閉,釋放資源cursor.close()print("任務完成")except Exception as e:# 回滾conn.rollback()print(e)finally:conn.close()
  • 總結

    以上是生活随笔為你收集整理的PyMQL简单使用【入门CRUD】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。