www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > AI科技大本營
[導讀]作者|黃偉呢出品|數(shù)據(jù)分析與統(tǒng)計學之美本文的重點,就是教會大家,如何用Python來操作MySQL數(shù)據(jù)庫。1.通用步驟其實,這里有一個通用步驟,都是寫死了的,大家照做就行。#?1.?導入相關庫import?pymysql#?2.?鏈接MySQL服務器db?=?pymysql.co...

4000字,詳解?Python?操作?MySQL?數(shù)據(jù)庫!作者 | 黃偉呢出品 | 數(shù)據(jù)分析與統(tǒng)計學之美本文的重點,就是教會大家,如何用Python來操作MySQL數(shù)據(jù)庫。

1. 通用步驟

其實,這里有一個通用步驟,都是寫死了的,大家照做就行。# 1. 導入相關庫
import pymysql

# 2. 鏈接MySQL服務器
db = pymysql.connect(host='localhost' , user='root' , password='******' , port=3306 ,db='spiders' , charset='utf8')

# 3. 創(chuàng)建一個cursor游標對象
cursor = db.cursor()

# 4. 在這一步寫你的sql語句
sql = 'select version()'

# 5. 執(zhí)行sql語句
cursor.execute(sql)

# 6. 斷開連接
db.close()
可以看出,整個過程就是第四步那里不同。歸根到底,其實就是寫sql。

2. 需要特別說明的知識點

Ⅰ 各參數(shù)說明
db = pymysql.connect(host='localhost' , user='root' , password='******' , port=3306 ,db='spiders' , charset='utf8') 這一行代碼很長,里面涉及到好幾個參數(shù),這里為大家一一介紹如下:
  • 參數(shù) 1 :mysql 服務器所在的主機 IP
  • 參數(shù) 2 :用戶名;
  • 參數(shù) 3 :密碼;
  • 參數(shù) 4 :連接的 mysql 主機的端口,默認是 3306;
  • 參數(shù) 5 :連接的數(shù)據(jù)庫名;
  • 參數(shù) 6 :通信采用的編碼方式,默認是'gb2312',要求與數(shù)據(jù)庫創(chuàng)建時指定的編碼一致,否則中文會亂碼;
Ⅱ cursor游標對象
4000字,詳解?Python?操作?MySQL?數(shù)據(jù)庫!

3. Python增刪改查操作

① 創(chuàng)建一個數(shù)據(jù)表
import pymysql

db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8')

cursor = db.cursor()

# 檢查表是否存在,如果存在刪除
cursor.execute('drop table if exists students')

# 創(chuàng)建表
sql = 'create table students(id int auto_increment primary key not null,name varchar(10) not null,age int not null)'

cursor.execute(sql)

db.close()
注:以后用代碼創(chuàng)建表的機會并不多,表一般都是我們提前創(chuàng)建好的。
② 插入數(shù)據(jù)
import pymysql

db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8')

cursor = db.cursor()

# 插入數(shù)據(jù)
sql = 'insert into students(name,age) values(%s,%s)'
try:
cursor.execute(sql,('孫悟空',100000))
db.commit()
except:print("插入失敗")
db.rollback()

db.close()
注 1:插入數(shù)據(jù)一定要用 try…except…語句,因為萬一沒插入成功,其余代碼都無法執(zhí)行。注 2:import pymysql,此模塊是默認開啟mysql的事務功能的,因此,進行“增”、“刪”、“改”的時候,一定要使用db.commit()提交事務,否則就看不見所插入的數(shù)據(jù)。
③ 更新數(shù)據(jù)
import pymysql

db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8')

cursor = db.cursor()

# 更新數(shù)據(jù)
sql = 'update students set age =%s where name=%s'
try:
cursor.execute(sql,(30,"郭衛(wèi)華"))
db.commit()
except:
print("插入失敗")
db.rollback()

db.close()
③ 刪除操作
import pymysql

db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8')

cursor = db.cursor()

# 刪除數(shù)據(jù)
sql = 'delete from students where age=100000'
try:
cursor.execute(sql)
db.commit()
except:
print("插入失敗")
db.rollback()

db.close()
④ 查詢操作
  • fetchone()功能:獲取下一個查詢結(jié)果集,結(jié)果集是一個對象。
  • fetchall()功能:接收全部返回的行。
import pymysql

db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8')

cursor = db.cursor()

# 查詢數(shù)據(jù)
sql = 'select * from students where age>60'
try:
cursor.execute(sql)
reslist = cursor.fetchall()
for row in reslist:
print(“%d--%d” %(row[0],row[1],… row[n]))
except:
print("插入失敗")
db.rollback()

db.close()

4. 封裝一個類

# 注:把下面類寫在 studentsql 文件中
import pymysql
class StudentsSql():
def __init__(self,host,user,port,dbname,charset):
self.host
= host
self.user = user
self.port = port
self.dbname = dbname
self.charset = charset

def connet(sef):
self.db
= pymysql.connect(self.host, self.user, self.port,
self.dbname, self.charset)

def close(self):
self.cursor.close()
self.db.close()

def get_one(self,sql):
res
= None
try:
self.connect()
self.cursor.execute(sql)
res = self.cursor.fetchone()
self.close()
except:
print(“查詢失敗”)
return res

def get_all(self,sql):
res
= None
try:
self.connect()
self.cursor.execute(sql)
res = self.cursor.fetchall()
self.close()
except:
print(“查詢失敗”)
return res

def inset(self,sql):
return self.__edit(sql)

def update(self,sql):
return self.__edit(sql)

def delete(self,sql):
return self.__edit(sql)

def __edit(self,sql):
count
= 0
try:
self.connect()
count = self.cursor.execute(sql)
self.db.commit()
self.close()
except:
print(“事務提交失敗”)
self.db.rollback()
return count
上述類封裝成功,以后只需要調(diào)用即可。from studentsql import StudentsSql
s = StudentsSql(“host='192.168.3.47' , user='root', password='******' , port=3306 , db='spiders' , charset='utf8'”)
res = s.get_all('select * from students where age>60')
for row in res:
print(“%d--%d” %(row[0],row[1],… row[n]))
4000字,詳解?Python?操作?MySQL?數(shù)據(jù)庫!



本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術(shù)
關閉
關閉