首先介紹一下各種連接MySQL的方式,本文講的是第二種
https://blog.csdn.net/qq_42787271/article/details/81515142
簡單介紹
安裝:
通過pip安裝【需要聯(lián)網(wǎng)】
pip install pysql?
使用
導(dǎo)入 import? pysql
#pysql模塊的初始化方法里面導(dǎo)入了Connect對象谈跛,并把它設(shè)置賦值給connect荚坞,使其可以通過屬性來調(diào)用
主要是通過兩個對象來操作數(shù)據(jù)庫
對象1:Connect對象
coon = pymysql.connect('localhost', 'root', 'Huawei@123', 'test')社裆,一般傳入的是關(guān)鍵字參數(shù)
主要用于登錄數(shù)據(jù)庫,建立數(shù)據(jù)庫連接對象
常用方法有:
(1)首先對象創(chuàng)建的初始化方法:coon = Coonection()參數(shù)的話一般傳入主機名host、用戶名和密碼、數(shù)據(jù)庫名database
(2)close方法
主要用于使用完數(shù)據(jù)庫后场钉,關(guān)閉數(shù)據(jù)庫
(3)commit和rollback方法,獲取到的coon對象默認是打開事物的懈涛,所以你再執(zhí)行了插入逛万、更新、刪除操作后需要執(zhí)行commit和rollback操作
(4)cursor方法批钠,用于返回一個cursor對象泣港。主要用于查詢,指向查詢結(jié)果
對象2:cusor對象
對象的屬性:
方法使用:
coon = pymysql.connect('localhost', 'root', 'Huawei@123', 'test')
cursor = coon.cursor()
# 查詢
SQL ='select * from areas? limit 0,10;'
cursor.execute(SQL)
print('get one row data %s',cursor.fetchone())
datas = cursor.fetchall()
print('get all row datas %s',datas)
#插入
SQL ='insert into students (name,gender) values("zhangqing001",0)'
cursor.execute(SQL)
coon.commit()
#更新
SQL='update students set gender=1 where name="zhangqing001"'
cursor.execute(SQL)
coon.commit()
# 刪除
SQL='delete from students where name="zhangqing"'
cursor.execute(SQL)
coon.commit()
cursor.close()
# 關(guān)閉數(shù)據(jù)庫連接
coon.close()
SQL參數(shù)化:怎么理解呢价匠,上面我們是直接執(zhí)行一條完整的SQL語句当纱。參數(shù)化指的是把完整的SQL語句分成兩部分,一部分是固定的SQL語句語法踩窖,一部分是傳入的參數(shù)坡氯。通過execute這個方法傳入?yún)?shù)。因為實際應(yīng)用中洋腮,無論是查詢箫柳、插入和刪除,參數(shù)這部分是用戶輸入的啥供。如果我們直接寫入到SQL語句中會出現(xiàn)SQL注入等重大問題悯恍。所以實際我們要對參數(shù)做校驗以及處理,然后再拼接成SQL語句傳給數(shù)據(jù)庫伙狐。
使用方法
要求參數(shù)是一個列表涮毫,%s用來占位瞬欧,無論是什么類型都用%s
實際使用中我們需要把重復(fù)使用的代碼邏輯進行封裝