python - 數據庫操作(mysqlclient) - 簡單demo


數據庫如下:

 

 

直接上代碼,如下:

 1 import MySQLdb   # 導入數據庫包
 2 
 3 conn = MySQLdb.connect(
 4     host='fhdskhaf.aliyuncs.com',   # 連接服務器
 5     port=3306,  # 端口號,默認3306的話可以省略這一行
 6     user='zhangsan', # 用戶名
 7     passwd='fhdkasjf',  # 密碼
 8     db='datav', # 數據庫名    ----- 1.此處也可以不指定數據庫名,在sql語句中寫庫名,可以使用多個不同的庫  2. 也可以此處指定數據庫A,sql中用到數據庫B
 9     charset='utf8'  # 編碼方式(字符集)
10 )
11 
12 c = conn.cursor()  # 創建游標
13 
14 # 查詢每一行
15 c.execute('select * from zy_1')
16 for i in range(c.rowcount):
17     row = c.fetchone()
18     print(row)
19     if row[1] == 'shuxue':    # row[1]取出每行數據中的某一列,下標從0開始
20         print('ok')
21         break
22 
23 c.close()    # 關閉游標
24 conn.close()  # 關閉數據庫連接

增刪改查,分別如下(增刪改需要使用commit()):

#
c.execute("insert into zy_1(name, score) VALUES('yuwen', 99), ('shuxue', 89)")
conn.commit()  # conn有commit方法,cur沒有
#
c.execute("delete from zy_1 where id > 2")
conn.commit()
#
c.execute("update zy_1 set score = 66 where id = 1")
conn.commit()
#
c.execute('select * from zy_1')
rows = c.fetchall()
print(rows)

三種查詢方法:

1 c.fetchone()    # 查詢一行
2 c.fetchmany(2)  # 查詢2行
3 c.fetchall()    # 全部查詢出來

 

 

ps:

單行sql

sql = "select version()"

多行sql

sql = "select " \
      "version()"

 

 

 

 

完善一些的寫法(加上異常處理):

sql1 = "select * from tb_3"
try:
    cur.execute(sql1)
    conn.commit()
except:
    conn.rollback()  # 發生錯誤時回滾

 


免責聲明!

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



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