python操作數據庫


python通過什么方式操作數據庫?

  • python解決一切問題幾乎都是通過庫的方式,包括內置庫和第三方庫。
  • 目前絕大部分中小企業使用的都是mysql數據庫,因為開源免費,屌絲企業,能省則省。
  • python中通過pymsql庫提供對mysql數據庫操作的支持

環境安裝

  • pip install pymysql

主要操作

  • 建立數據庫連接:db=pymsql.connect(host="localhost",port=3306,user="usernmae",password='pwd',database=" ",charset="utf8")
  • 創建游標:cu=db.cursor(cursor=pymsql.cursors.Dictcursor)  #加上參數指示以字典方式展示查找的數據,默認返回的數據類型是元組
  • 執行sql語句:effect=cu.execute()  #執行一條sql語句----->effect返回的是sql執行成功后受影響的行數
  • 如果是操作數據庫中的數據,還得做一個提交操作,否則修改不會生效:db.commit()
  • 取出select語句執行后查找到的內容:
    • res=cu.fetchone():返回一條數據,是一個元祖類型
    • res=cu.fetchmany(n):取出前n條,返回一個二維元組類型
    • res=cu.fetchall():取出所有查找到的數據,返回一個二維元組類型
  • scroll回滾操作:cu.scroll(0,mode="absolute")/cu.scroll(0,mode="relative")     #第一個參數表示移動的步長,第二個參數是表示移動模式,相對移動或絕對移動
  • 獲取插入數據后子增列最后的值:lastid=cu.lastrowid #是個屬性,不是方法

 

代碼示例

 1 import pymysql
 2 import time
 3 
 4 #創建數據庫連接
 5 conn=pymysql.connect(host='localhost',port=3306,user='nanfy',
 6                      password="abc123!",db="db1",charset="utf8")  #port是int型
 7 
 8 #創建游標
 9 cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
10 
11 # effect=cursor.execute("select * from score")
12 # print(effect)
13 
14 # res=cursor.fetchone()
15 # print(res)
16 
17 
18 #插入一條數據后,獲取插入后自增列最大值
19 effect1=cursor.execute("insert into student(sname,gender,class_id) values (%s,%s,%s),(%s,%s,%s)",
20 
21 
22                        ("南風","",2,"北風",'',1))
23 print(effect1)
24 conn.commit()
25 
26 #獲取自增列最后插入的值
27 print(cursor.lastrowid)

 


免責聲明!

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



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