python3使用pymysql取代了MySQLdb,所以python3無法使用MySQLdb
#coding=utf-8
#pymysql是python操作mysql數據庫的包
# python3使用pymysql取代了MySQLdb,所以python3無法使用MySQLdb
import pymysql
#xlwt是python寫入excel的包
import xlwt
con=pymysql.connect(
host='localhost',
user='root',
password='1234',
database='mydata',
charset='utf8')
#創建光標
cursor=con.cursor()
sql='insert into dept_xu values(%s,%s,%s)'
#execute執行一條插入語句,參數必須是tuple
param1=(60,'開發部','張家港')
cursor.execute(sql,param1)
#executemany執行多條插入語句
param2=((70,'智能制造','阜寧縣'),(80,'醫葯物流','鳳凰鎮'))
cursor.executemany(sql,param2)
con.commit() #記得提交,不然插入數據不會保留
#execute執行一句查詢語句
sql='select * from dept_xu'
cursor.execute(sql)
result=cursor.fetchall()
#查詢結果是一個tuple包tuple的格式((tuple1),(tuple2)),里面每個tuple代表一條查詢記錄,
print(result[0][1])
print(result)
#移動指針到某一行.如果mode='relative',則表示從當前所在行移動value條,如果mode='absolute',則表示從結果集的第一 行移動value條.
cursor.scroll(0,mode='absolute')
#cursor.description獲取表格的字段信息
fields=cursor.description
print(fields)
cursor.close()
con.close()
#將查詢結果寫入到excel
workbook = xlwt.Workbook()
#創建一個新的sheet
sheet=workbook.add_sheet('sheet1',cell_overwrite_ok=True)
#將表的字段名寫入excel
for field in range(len(fields)):
sheet.write(0,field,fields[field][0])
#結果寫入excle
for row in range(1,len(result)+1):
for col in range(len(fields)):
sheet.write(row,col,result[row-1][col])
#excel保存為文件
workbook.save(r'C:\Users\Administrator.7CKIQPMWQ9XTT8J\Desktop\2\1.xls')
轉載原地址:https://blog.csdn.net/qiudechao1/article/details/88998173