PyMQL简单使用【入门CRUD】
PyMQL簡單使用【入門CRUD】
pymysql是python3中的mysqldb(python2)
在使用這個庫之前,首先你得確保自己會使用基本的SQL語句,對MySQL數(shù)據(jù)庫具有一定的了解(基本即可)。
一、安裝
通過pip進行安裝:
pip install pymysql二、通過數(shù)據(jù)庫可視化程序/終端建數(shù)據(jù)庫和表
? pymysql在使用之前,需要通過數(shù)據(jù)庫可視化程序/終端建立數(shù)據(jù)庫
三、使用pymysql操作數(shù)據(jù)庫
連接數(shù)據(jù)庫:
我們通過一下必填參數(shù)連接數(shù)據(jù)庫:
# 連接Mysql conn = pymysql.connect(host='127.0.0.1',user='自定義用戶名(root)',password="自定義密碼",database='數(shù)據(jù)庫名稱',port=3306,charset='utf8' )其中的host,user,password,port,database均為定位到數(shù)據(jù)庫所需要的參數(shù),而charset用于指定該數(shù)據(jù)庫的編碼格式,需要與建立數(shù)據(jù)庫的時候(create database 數(shù)據(jù)庫名稱 charset=‘xxxx’)保持一致(一般為utf8)
獲取游標(biāo)對象:
連接成功后我們可以通過conn拿到其中的cursor對象,該對象即為執(zhí)行SQL語句以及拿到相關(guān)結(jié)果的操作對象,也就是直譯的游標(biāo)對象。
# 創(chuàng)建游標(biāo)對象 cursor = conn.cursor()編寫SQL語句并執(zhí)行:
使用pymql需要自己手動進行SQL語句的編寫,而SQL語句的基本增刪改查語句中,只有查詢語句不會被數(shù)據(jù)庫造成影響,其他語句則均會對數(shù)據(jù)庫產(chǎn)生作用效果。
pymysql為了避免由于出現(xiàn)異常或者錯誤情況而導(dǎo)致數(shù)據(jù)庫出現(xiàn)狀況,所有對數(shù)據(jù)庫造成實際影響的語句,均需要通過con.commit()方法來提交所有的變更。
另外pymysql在執(zhí)行SQL語句的方法cursor.execute()方法中,可以多輸入一個參數(shù),這個參數(shù)可以是數(shù)組(list)/元組(tuple)/字典(dict),pymysql會在內(nèi)部對該參數(shù)進行處理,并自動將其處理為對應(yīng)完整SQL語句。
接下來的語句中也將分別使用數(shù)組/元組/dict三種形式來演示相關(guān)的寫法,同時這三者是通用的。
注意一下語句,插入表為info,該表具有id,name,age,gender四個屬性,可自信修改為自己所需要的屬性。
- 查詢語句:
- 插入語句:
- 修改語句:
- 刪除語句:
釋放資源:
# 關(guān)閉游標(biāo) cursor.close() # 關(guān)閉連接 conn.close()異常處理與回滾:
pymysql在連接的時候,就會對當(dāng)前數(shù)據(jù)庫進行一次快照(保留未操作初始狀態(tài)),如果出現(xiàn)錯誤情況,可以通過conn.rollback()方法進行回滾。
由于數(shù)據(jù)庫操作涉及到網(wǎng)絡(luò)和其他設(shè)備的操作,所以必須需要做好異常處理。
通常我們會進行如下格式的異常處理:
#!/usr/bin/env python # -*- coding: utf-8 -*- # 導(dǎo)包 import pymysql# 連接Mysql conn = pymysql.connect(host='127.0.0.1',user='自定義用戶名(root)',password="自定義密碼",database='數(shù)據(jù)庫名稱',port=3306,charset='utf8' ) try:# 創(chuàng)建游標(biāo)對象cursor = conn.cursor()# 編寫增加/刪除/修改的sql語句# 編寫SQL語句,進行相關(guān)操作...# ...如:sql = "delete from info where id =%(id)s"add_data = {"name": "岑纓","id" : 28}# 執(zhí)行編寫的SQL語句cursor.execute(sql, add_data)# 提交修改conn.commit()# 關(guān)閉,釋放資源cursor.close()print("任務(wù)完成")except Exception as e:# 回滾conn.rollback()print(e)finally:conn.close()總結(jié)
以上是生活随笔為你收集整理的PyMQL简单使用【入门CRUD】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql8.0下载(网盘云盘)
- 下一篇: 伤害世界服务器连接失败_伤害世界服务器怎