Python之MySQLdb操作數據庫

一、python操作數據庫

創新互聯建站是一家專注于網站設計、成都網站建設與策劃設計,安康網站建設哪家好?創新互聯建站做網站,專注于網站建設十余年,網設計領域的專業建站公司;建站業務涵蓋:安康等地區。安康做網站價格咨詢:18980820575

1.格式:大概分為三部分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

代碼

import MySQLdb

 

conn = MySQLdb.connect(host='192.168.0.180',user='cattle',passwd='cattle',db='cattle')

cur = conn.cursor()  #創建連接

 

reCount = cur.execute('select * from admin')

data = cur.fetchall() #對數據進行操作

 

cur.close()       #關閉連接

conn.close()

 

print data

print reCount   #這個的意思是執行完這條命令影響的條數

結果

((1L'n2''a2'), (2L'n1''a1'))

2

1.連接的建立與釋放


建立連接時可用connect函數,它返回一個connection類型對象

1

db = MySQLdb.connect(host='192.168.0.180',user='cattle',passwd='cattle',db='cattle')

connect常用的參數:
host:數據庫主機名.默認是用本地主機
user:數據庫登陸名.默認是當前用戶
passwd:數據庫登陸的秘密.默認為空
db: 要使用的數據庫名.沒有默認值
port:MySQL服務使用的TCP端口.默認是3306
charset:數據庫編碼

如果在數據編碼設置正確時,向數據庫插入數據出現亂碼時,可以設置連接的字符集參數


釋放連接時可以用connection類型對象的close方法

1

conn.close()

2.cursor對象

執行SQL語句前要獲得一個指定連接的cursor對象,由cursor對象對象執行SQL查詢并獲得結果

獲得cursor對象的方法

1

cur = conn.cursor()

在默認情況下cursor方法返回的是BaseCursor類型對象,BaseCursor類型對象在執行查詢后每條記錄的結果以列表(list)表示。如果要返回字典(dict)表示的記錄,就要設置cursorclass參數為MySQLdb.cursors.DictCursor

1

cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)

3.插入、刪除、更新、查詢等操作

cursor類型提供了execute方法用于執行SQL語句

3.1查詢

1

cur.execute('select * from admin')

3.2獲取結果

獲取結果有三種方式:fetchone、fetchall、fetchmany,返回結果是tuple,tuple中每一個元素對應查詢結果中的一條記錄

fetchone()返回結果集中的第一條記錄

fetchall()返回結果集中的所有記錄

fetchmany([size])返回結果集中的size條記錄

3.3插入

由于SQL語句較長所以可以將SQL語句定義成變量

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import MySQLdb

 

conn = MySQLdb.connect(host='192.168.0.180',user='cattle',passwd='cattle',db='cattle')

cur = conn.cursor()

 

sql = "insert into admin (name,address) values(%s,%s)"  #name和address相當于key,%s是占位符

params = ('n4','a4'#n4和a4相當于value,寫在占位符的位置

 

reCount = cur.execute(sql,params)

conn.commit() #執行完增加、刪除、更改的動作都得執行這步進行提交才能生效

 

cur.close()

conn.close()

 

print reCount

3.4刪除

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import MySQLdb

 

conn = MySQLdb.connect(host='192.168.0.180',user='cattle',passwd='cattle',db='cattle')

cur = conn.cursor()

 

sql = "delete from admin where id = %s"

params = (1)

 

reCount = cur.execute(sql,params)

conn.commit()

 

cur.close()

conn.close()

 

print reCount

3.5更改

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import MySQLdb

 

conn = MySQLdb.connect(host='192.168.0.180',user='cattle',passwd='cattle',db='cattle')

cur = conn.cursor()

 

sql = "update admin set name = %s where id = 8"

params = ('n8')

 

reCount = cur.execute(sql,params)

conn.commit()

 

cur.close()

conn.close()

 

print reCount

4.事務

python操作數據庫的時候一旦有錯誤不提交操作,全部都沒問題的時候才提交



本文標題:Python之MySQLdb操作數據庫
瀏覽路徑:http://m.kartarina.com/article4/jecoie.html

成都網站建設公司_創新互聯,為您提供面包屑導航網站排名品牌網站制作企業網站制作企業建站靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司
主站蜘蛛池模板: 国产亚洲情侣一区二区无码AV | 中文字幕无码视频手机免费看| 人妻少妇乱子伦无码视频专区| 在线无码视频观看草草视频| 亚洲国产成AV人天堂无码| 精品久久久无码中字| 精品亚洲AV无码一区二区三区| 亚洲欧洲免费无码| 无码中文字幕av免费放| 99久久无码一区人妻a黑| 免费无码不卡视频在线观看| 国产网红无码精品视频| 无码中文字幕av免费放dvd| 亚洲爆乳精品无码一区二区三区 | 一本一道AV无码中文字幕| 精品一区二区三区无码视频| 日本精品人妻无码免费大全| 亚洲熟妇无码AV| 日韩人妻无码一区二区三区久久 | 亚洲人成无码网站在线观看| 国产精品ⅴ无码大片在线看| 狠狠躁夜夜躁无码中文字幕| 无码精品A∨在线观看无广告| 在人线av无码免费高潮喷水 | 无码人妻丰满熟妇啪啪| 亚洲av无码专区亚洲av不卡| 亚洲中文字幕在线无码一区二区 | 最新亚洲春色Av无码专区| 无码午夜人妻一区二区三区不卡视频 | 日韩A无码AV一区二区三区| 一夲道dvd高清无码| 少妇无码AV无码专区在线观看| 丰满日韩放荡少妇无码视频| 熟妇人妻中文a∨无码| 亚洲中文字幕无码久久2017| 免费无码作爱视频| 西西午夜无码大胆啪啪国模| 久久久久亚洲精品无码蜜桃| 亚洲性无码AV中文字幕| 亚洲AV无码一区二区三区久久精品| 亚洲av无码片vr一区二区三区|