python 操作數據庫


鏈接數據庫

conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='08day5')
cur = conn.cursor()

查看列名

在定義光標時,可以將其定義為字典形式,這樣查詢數據時可以查看對應列名:

import MySQLdb
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='08day5')
cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)

sql='select * from userinfo'
reCount = cur.execute(sql)
reData  = cur.fetchall() 

print reData

cur.close()
conn.close()

 

 

操作數據庫

1.查詢數據庫內容

reCount=cur.execute("select * from userinfo")      #execute對數據庫進行操作。
reData  = cur.fetchall()                           #查詢數據庫內容,需進行操作后,再可以使用該命令

2.對數據庫進行插入

reCount = cur.execute('insert into userinfo(id,name,passwd) values(2,"root","2345")')
conn.commit()    #提交數據

3.對數據庫進行修改

reCount = cur.execute('update userinfo set name="test" where id=2')
conn.commit()

4.對數據庫進行刪除

reCount = cur.execute('delete from  userinfo where id=2')
conn.commit()

5.在進行數據庫操作時,我們需要進行不同的操作類型和修改的內容都不一致。所以我們可以將數據庫命令和修改的內容分別用變量來表示,我們以插入數據來看下:

sql='insert into userinfo(id,name,passwd) values(%s,%s,%s)'
params=(2,"root","2345")                #用元祖來進行數據添加
reCount = cur.execute(sql,params)       #execute(sql[, parameters])
conn.commit()

6.批量插入數據

①將要插入的數據定義為列表

②使用executemany來執行命令

sql='insert  userinfo(id,name,passwd) values(%s,%s,%s)'
params=[
      (2,"root","2345"),
      (3,"test","3456")
      ]
reCount = cur.executemany(sql,params)
conn.commit()

7.指針移動(絕對位置,相對位置)

相對位置:cur.scroll(-1,mode='relative')

絕對位置:cur.scroll(0,mode='absolute')

可以使用fetchone來進行驗證。

8.獲取自增ID:

使用lastrowid來獲取

import MySQLdb
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='08day5')
cur = conn.cursor()

sql='insert  getid(name,passwd) values(%s,%s)'
params=[
      ("admin1","1234"),
      ]
reCount = cur.executemany(sql,params)
conn.commit()
print cur.lastrowid   #使用lastrowid來獲取最后修改的自增id,如果是使用查詢或者更改的命令,則lsatrowid為None(0) 

cur.close()
conn.close()

 

關閉數據庫

cur.close()
conn.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM