1. 程式人生 > >【Python】學習筆記5-操作mysql數據庫pymysql

【Python】學習筆記5-操作mysql數據庫pymysql

rod bsp phone utf8 charset delet 建立 包含 hone

import pymysql
#其他數據庫,比如oracle 模塊是pyoracle

#1、鏈接數據庫mysq ip 端口號 密碼 賬戶 數據庫
#2、建立遊標
#3、執行sql
#4、獲取結果
#5、關閉連接,關閉遊標


# 1、show table 例子
 1 # conn = pymysql.connect(host = ‘x.x.x.x‘,
 2 #                 user = ‘jxz‘,passwd = ‘123456‘,
 3 #                 port = 3306, db = ‘jxz‘, charset=‘utf8‘)#charset 必須是utf8不能是utf-8
4 # cur = conn.cursor() #建立遊標,遊標你就認為是倉庫管理員 5 # # cur.execute(‘show tables;‘) #執行sql語句 6 # cur.execute(‘select * from bt_stu limit 5;‘) #執行sql語句 7 # # print(cur.execute(‘show tables;‘)) #執行sql語句 返回 10 8 # print(cur.fetchall()) #獲取sql語句執行的結果 9 # res = cur.fetchall() #獲取sql語句執行的結果 ((‘bt_stu‘,), (‘hkk‘,), (‘hkk2‘,), (‘jxz_stu‘,), (‘products_nyy‘,), (‘stu‘,), (‘user‘,), (‘user_nyy‘,), (‘user_passwd‘,), (‘zmx‘,))
10 # print(res[0][3]) 11 # cur.close() #關閉遊標 12 # conn.close() #關閉連接

# # 2、查詢例子
# conn = pymysql.connect(host = ‘X.X.X.X‘,
#                 user = ‘jxz‘,passwd = ‘123456‘,
#                 port = 3306, db = ‘jxz‘, charset=‘utf8‘)#charset 必須是utf8不能是utf-8
# cur = conn.cursor() #建立遊標,遊標你就認為是倉庫管理員
# cur.execute(‘select * from bt_stu limit 2;‘) #執行sql語句
# # res = cur.fetchall() #獲取sql語句執行的結果,把結果放到元組(數組)裏面,根據數組取結果,如 res[0][3] # #((1, ‘賈夢緣‘, 1, ‘18612341231‘, ‘靠山屯‘, 1), (2, ‘處長‘, 0, ‘19212345678‘, ‘靠山屯‘, 1), (4, ‘處長‘, 0, ‘19312345678‘, ‘靠山屯‘, 1), (5, ‘處長‘, 0, ‘19312345671‘, ‘靠山屯‘, 1), (6, ‘zdq‘, 0, ‘12312345678‘, ‘靠山屯‘, 1)) # # res = cur.fetchall() #獲取所有結果 # res = cur.fetchone() #只獲取一條結 # res = cur.fetchone() #再獲取剩下的 第一條結果 #(2, ‘處長‘, 0, ‘19212345678‘, ‘靠山屯‘, 1) # res = cur.fetchall() #取所有剩下的 # cur.scroll(0,mode=‘absolute‘) #移動遊標,到最前面,#一般很少去移動遊標 # cur.scroll(-10,mode=‘relative‘) #移動遊標,相對於當前位置,-X是向前移動X個,X是向後移動X個 # res = cur.fetchone() # print(res) # cur.close() #關閉遊標 # conn.close() #關閉連接



# 3、insert
 1 # insert update delete 執行這些sql,必須要提交,才能生效 ,conn.commit
 2 # conn = pymysql.connect(host = ‘X.X.X.X‘,
 3 #                 user = ‘jxz‘,passwd = ‘123456‘,
 4 #                 port = 3306, db = ‘jxz‘, charset=‘utf8‘)#charset 必須是utf8不能是utf-8
 5 # cur = conn.cursor() #建立遊標,遊標你就認為是倉庫管理員
 6 # sql = "INSERT INTO `bt_stu` ( `real_name`, `sex`, `phone`, `class`, `type`) VALUES ( ‘cm1‘, ‘1‘, ‘15712341231‘, ‘靠山屯‘, ‘1‘);"
 7 # cur.execute(sql) #執行sql語句
 8 # conn.commit()
 9 # cur.close() #關閉遊標
10 # conn.close() #關閉連接


# 4、cursor 不輸出元組,輸出字典
 1 conn = pymysql.connect(host = X.X.X.X,
 2                 user = jxz,passwd = 123456,
 3                 port = 3306, db = jxz, charset=utf8)#charset 必須是utf8不能是utf-8
 4 cur = conn.cursor(cursor=pymysql.cursors.DictCursor) #建立遊標,遊標你就認為是倉庫管理員
 5 sql = "select * from bt_stu limit 2"
 6 cur.execute(sql) #執行sql語句
 7 print(cur.fetchone()) #一條語句,返回就是一條字典
 8 # print(cur.fetchall()) #數組裏面包含字典[{‘phone‘: ‘18612341231‘, ‘id‘: 502, ‘sex‘: 1,。。。。
 9 cur.close() #關閉遊標
10 conn.close() #關閉連接

【Python】學習筆記5-操作mysql數據庫pymysql