pymysql
pymysql屬于Python的一個第三方庫,用于操作mysql數(shù)據(jù)庫掏觉。
安裝:pip install mysql
連接數(shù)據(jù)庫
操作數(shù)據(jù)庫前需要連接數(shù)據(jù)庫质礼,pymsql通過connext方法來連接數(shù)據(jù)庫,其中需要一些數(shù)據(jù)庫的參數(shù)內(nèi)容如:登錄賬號殖卑,登錄密碼谆吴,數(shù)據(jù)庫地址倒源,以及需要連接哪一個數(shù)據(jù)庫。
import pymysql
# 連接數(shù)據(jù)庫
count = pymysql.connect(
host = 'localhost', # 數(shù)據(jù)庫地址
port = '3306', # 數(shù)據(jù)庫端口號
user = 'root', # 數(shù)據(jù)庫賬號
password = '821006052', # 數(shù)據(jù)庫密碼
db = 'test', # 數(shù)據(jù)庫表名
charset = 'gbk' # 中文亂碼
)
# 完成mysql數(shù)據(jù)庫實例化
db = count.cursor()
查找數(shù)據(jù)
查詢內(nèi)容肯定需要執(zhí)行sql內(nèi)容pymysql句狼,這里通過execute的方法來執(zhí)行sql命令并返回一共有多少數(shù)據(jù)笋熬,然后再通過fetchall()來顯示sql查詢結(jié)果的所有內(nèi)容:
import pymysql
# 連接數(shù)據(jù)庫
count = pymysql.connect(
host = 'localhost', # 數(shù)據(jù)庫地址
port = '3306', # 數(shù)據(jù)庫端口號
user = 'root', # 數(shù)據(jù)庫賬號
password = '821006052', # 數(shù)據(jù)庫密碼
db = 'test', # 數(shù)據(jù)庫表名
charset = 'gbk' # 中文亂碼
)
# 完成mysql數(shù)據(jù)庫實例化
db = count.cursor()
# sql語句
sql = 'select * from weather'
# 執(zhí)行sql
a = db.execute(sql)
# 顯示所有查詢結(jié)果
result = fetchall()
print(result)
通過執(zhí)行可以將這個表中的所有數(shù)據(jù)全部都查詢出來。
pymysql 中也提供了只查詢一行數(shù)據(jù)結(jié)果的方法:fetchone()
import pymysql
# 連接數(shù)據(jù)庫
count = pymysql.connect(
host = 'localhost', # 數(shù)據(jù)庫地址
port = '3306', # 數(shù)據(jù)庫端口號
user = 'root', # 數(shù)據(jù)庫賬號
password = '821006052', # 數(shù)據(jù)庫密碼
db = 'test', # 數(shù)據(jù)庫表名
charset = 'gbk' # 中文亂碼
)
# 完成mysql數(shù)據(jù)庫實例化
db = count.cursor()
# sql語句
sql = 'select * from weather'
# 執(zhí)行sql
a = db.execute(sql)
# 顯示一行查詢結(jié)果
for i in range(a):
result = db.fetchone()
print(result)
通過執(zhí)行 fetchone()只能每次查詢 1 行數(shù)據(jù)腻菇,然后通過 for 循環(huán)的方法讓其也展示出來所有的數(shù)據(jù)內(nèi)容胳螟。
修改數(shù)據(jù)
當我們在數(shù)據(jù)庫上修改數(shù)據(jù)后,需要點擊保存按鈕筹吐,才會生效糖耸,Python操作數(shù)據(jù)庫也是一樣,這里通過commit()方法來實現(xiàn)丘薛。
import pymysql
# 連接數(shù)據(jù)庫
count = pymysql.connect(
host = 'localhost', # 數(shù)據(jù)庫地址
port = '3306', # 數(shù)據(jù)庫端口號
user = 'root', # 數(shù)據(jù)庫賬號
password = '821006052', # 數(shù)據(jù)庫密碼
db = 'test', # 數(shù)據(jù)庫表名
charset = 'gbk' # 中文亂碼
)
# 完成mysql數(shù)據(jù)庫實例化
db = count.cursor()
# sql語句
sql = 'update weather set city="鄭州" where id=1'
a = db.execute(sql)
count.commit()
通過執(zhí)行上述代碼嘉竟,查看數(shù)據(jù)庫數(shù)據(jù)可發(fā)現(xiàn)已經(jīng)將上海更改為了鄭州,說明
我們的修改操作已經(jīng)成功洋侨。
刪除數(shù)據(jù)
刪除數(shù)據(jù)后舍扰,也需要執(zhí)行commit()來進行保存
import pymysql
# 連接數(shù)據(jù)庫
count = pymysql.connect(
host = 'localhost', # 數(shù)據(jù)庫地址
port = '3306', # 數(shù)據(jù)庫端口號
user = 'root', # 數(shù)據(jù)庫賬號
password = '821006052', # 數(shù)據(jù)庫密碼
db = 'test', # 數(shù)據(jù)庫表名
charset = 'gbk' # 中文亂碼
)
# 完成mysql數(shù)據(jù)庫實例化
db = count.cursor()
# sql語句
sql = 'Delete from where city="鄭州"'
a = db.execute(sql)
count.commit()
通過執(zhí)行后,查看數(shù)據(jù)庫結(jié)果希坚,可發(fā)現(xiàn)已經(jīng)將鄭州這條數(shù)據(jù)刪除了边苹。
新增數(shù)據(jù)
import pymysql
# 連接數(shù)據(jù)庫
count = pymysql.connect(
host = 'localhost', # 數(shù)據(jù)庫地址
port = '3306', # 數(shù)據(jù)庫端口號
user = 'root', # 數(shù)據(jù)庫賬號
password = '821006052', # 數(shù)據(jù)庫密碼
db = 'test', # 數(shù)據(jù)庫表名
charset = 'gbk' # 中文亂碼
)
# 完成mysql數(shù)據(jù)庫實例化
db = count.cursor()
# sql語句
sql = 'INSERT INTO wheather VALUES("上海", "331eab8f3481f37868378fcdc76cb7cd" , 1)'
a = db.execute(sql)
count.commit()
執(zhí)行完成后,可以看到我們的數(shù)據(jù)庫中已經(jīng)新增了一條數(shù)據(jù)吏够。