#!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql import time # 建立鏈接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='log') # 建立遊標 設置光標用字典的格式獲取 默認以元組的方式返還; cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 執行SQL,並返回收影響行數 # effect_row = cursor.execute("update log set age = '2'") # effect_row = cursor.execute("insert into log(name,age) values(%s,%s)",('rr',1)) # 執行儲存過程 row = cursor.callproc('wrg',(1,2,3)) # 必須先獲取下值才能獲取 儲存過程的返回值 cursor.fetchall() # 獲取返回值的時候 _1 表示獲取第一個索引 cursor.execute("select @wrg_1") result = cursor.fetchone() cursor.execute("delete from log where nid > 0") # 設置數據庫自增的初始值 cursor.execute("alter table log AUTO_INCREMENT=1") for i in range(1,100): a = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time())) effect_row = cursor.execute("insert into log(user,pwd,tim) values(%s,%s,%s)",('alex'+str(i),i,a)) # 設置條件語句從大到小排序 effect_row = cursor.execute("select * from log where nid > 10 order by nid desc") # 查看光標獲取的內容 # result = cursor.fetchall() # 獲取第一條數據 result = cursor.fetchone() # 獲取3個數據 result = cursor.fetchmany(3) # 以相對位置移動指針 result = cursor.scroll(-1,mode='relative') effect_row = cursor.execute("insert into log(user,pwd) values(%s,%s)",('alex','sd')) # 獲取自增值 print(cursor.lastrowid) # 提交,否則沒法保存新建或者修改的數據 conn.commit() # 關閉遊標 cursor.close() # 關閉鏈接 conn.close()