Python利用pymysql连接Mysql数据库
生活随笔
收集整理的這篇文章主要介紹了
Python利用pymysql连接Mysql数据库
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
pymysql是一個(gè)Python的第三方包,需要手動(dòng)安裝后才能使用
1.使用pymysql查詢數(shù)據(jù)
''' pymysql基本使用步驟 使用pymysql查詢數(shù)據(jù) '''import pymysql# 創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象,除了端口外,其他類型都要用字符串類型 connect_db=pymysql.connect(host='localhost',port=3306,user='root',password='root',charset='utf8',database='jing_dong')# 獲取游標(biāo)對(duì)象,操作數(shù)據(jù)庫(kù)時(shí)都是使用游標(biāo)對(duì)象操作,類似與電腦寫文檔時(shí)的光標(biāo),可以指示操作的起始位置 # 一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象可以創(chuàng)建多個(gè)(多次)游標(biāo)對(duì)象,一般同一時(shí)刻只會(huì)建立一個(gè)進(jìn)行操作 # 游標(biāo)對(duì)象在創(chuàng)建時(shí),默認(rèn)會(huì)開(kāi)啟一個(gè)隱式的事務(wù)環(huán)境 cur=connect_db.cursor()# 操作數(shù)據(jù)庫(kù) # 避免字符串引號(hào)和sql語(yǔ)句中的引號(hào)沖突,使用三引號(hào) sql_str='''select * from goods'''# 執(zhí)行sql語(yǔ)句,會(huì)返回操作的數(shù)據(jù)行數(shù) row_count=cur.execute(sql_str) print(f'查詢到{row_count}條記錄')# 查詢數(shù)據(jù)的語(yǔ)句的返回值都是一個(gè)元祖,或者元祖套元祖 # 從游標(biāo)對(duì)象指示的位置開(kāi)始,獲取一條查詢結(jié)果 result_one=cur.fetchone() # 返回一個(gè)元祖 print(result_one) print('*'*30)# 讓游標(biāo)回到開(kāi)頭處 cur.rownumber=0# 從游標(biāo)對(duì)象指示的位置開(kāi)始,獲取指定條數(shù)的記錄 result_many=cur.fetchmany(7) # 返回一個(gè)元祖類型的可迭代對(duì)象,一條數(shù)據(jù)的話是這樣的((),) for result in result_many:print(result) print('*'*30)# 讓游標(biāo)回到開(kāi)頭處 cur.rownumber=0# 獲取所有數(shù)據(jù) result_all=cur.fetchall() # 返回一個(gè)元祖類型的可迭代對(duì)象,一條數(shù)據(jù)的話是這樣的((),) for result in result_all:print(result)# 關(guān)閉游標(biāo)對(duì)象 cur.close()# 關(guān)閉數(shù)據(jù)庫(kù)對(duì)象 connect_db.close()2.使用pymysql插入數(shù)據(jù)
''' 插入數(shù)據(jù) '''import pymysql# Connect = connect = Connection = connections.Connection connect_db=pymysql.Connect(host='localhost',port=3306,database='jing_dong',user='root',password='root',charset='utf8') cur=connect_db.cursor() sql_str='''insert into goods(name,cate_id,brand_id) values('MacBookPro 15',1,5)''' t=cur.execute(sql_str) print(t) ''' 當(dāng)對(duì)數(shù)據(jù)庫(kù)做增刪改時(shí),默認(rèn)會(huì)在事務(wù)環(huán)境中進(jìn)行操作,操作完成后要手動(dòng)提交操作,否則程序默認(rèn)操作為回滾,那么剛才的操作就不會(huì)生效 但是增加數(shù)據(jù)時(shí),即使回滾了,為主鍵的字段的auto_increment值也會(huì)加1 ''' # 事務(wù)的提交操作由數(shù)據(jù)庫(kù)連接對(duì)象來(lái)完成 # 事務(wù)的提交操作必須在執(zhí)行sql語(yǔ)句之后進(jìn)行 connect_db.commit()cur.close() connect_db.close()3.使用pymysql修改數(shù)據(jù)
''' 使用pymysql更新數(shù)據(jù) '''import pymysqlconnect_db=pymysql.Connect(host='localhost',port=3306,user='root',password='root',charset='utf8',database='jing_dong') cur=connect_db.cursor() sql_str='''update goods set price=2099 where id=10''' cur.execute(sql_str) connect_db.commit() cur.close() connect_db.close()4.使用pymysql刪除數(shù)據(jù)
''' 使用pymysql刪除數(shù)據(jù) '''import pymysqlconnect_db=pymysql.Connection(host='localhost',port=3306,user='root',password='root',charset='utf8',database='jing_dong') cur=connect_db.cursor() sql_str='''delete from goods where name='筆記本電腦17' ''' cur.execute(sql_str) connect_db.commit() cur.close() connect_db.close()總結(jié)
以上是生活随笔為你收集整理的Python利用pymysql连接Mysql数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python搭建静态web服务器
- 下一篇: Python连接Mysql数据库SQL注