#数据查询
import pymysql
try:
#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
conn=pymysql.connect(host='localhost',user='root',passwd='root',db='test',port=3306,charset='utf8')
cur=conn.cursor()#获取一个游标
cur.execute('select * from wx')
data=cur.fetchall()
for d in data :
#注意int类型需要使用str函数转义
print("ID: "+str(d[0])+' 单据号: '+d[1]+" 金额: "+d[2]+" 时间: "+d[3])
cur.close()#关闭游标
conn.close()#释放数据库资源
except Exception :print("发生异常")
#单条数据插入
#coding=utf-8
import pymysql
#创建数据库连接,注意这里我加入了charset和cursorclass参数
conn = pymysql.connect(
host = "127.0.0.1",
user = "root",
password = "root",
database = "test",
charset = 'utf8',
cursorclass = pymysql.cursors.DictCursor)
#获取游标
cursor = conn.cursor()
try:
# 执行一条insert语句,返回受影响的行数
cursor.execute("INSERT INTO wx(wxddh, jine, uptime) VALUES(%s,%s,%s);",('1231231231231', '99', '20190530' ))
# 执行多次insert并返回受影响的行数
#cursor.executemany("INSERT INTO para5(name,age) VALUES(%s,%s);", [('次牛444', '12'), ("次牛2", '11'), ('次牛3', '10')])
# 提交执行
conn.commit()
except Exception as e:
# 如果执行sql语句出现问题,则执行回滚操作
conn.rollback()
print(e)
finally:
# 不论try中的代码是否抛出异常,这里都会执行
# 关闭游标和数据库连接
cursor.close()
conn.close()
#sql = "INSERT INTO EMPLOYEE(wxddh, jine, uptime) VALUES ('1231231231231', '99', '20190530' )"
#csvtomysql
#coding=utf-8
import pandas as pd
import os
import pymysql
os.getcwd()
# pandas读取文件 这里随便找了一个爬取的股票文件改的名字
# usecols 就是说我只用这些列其他列不需要
# parse_dates 由于csv只储存str、int、float格式无法储存日期格式,所以读取是设定吧日期列读作时间格式
print("当前的工作目录为:%s" %os.getcwd())
#pathstr=os.getcwd()
df = pd.read_csv('/Users/CocaShu/Desktop/pytest/1.csv', encoding='gbk', usecols=[5, 24,0] )
df['微信订单号'] = df['微信订单号'].str.replace(r'`', '')
df['订单金额'] = df['订单金额'].str.replace(r'`', '')
df['交易时间'] = df['交易时间'].str.replace(r'`', '')
df=df.drop([len(df)-1])
df=df.drop([len(df)-1])
print(df)
#print('数据总记录数:'+str(len(df)))
#创建数据库连接,注意这里我加入了charset和cursorclass参数
conn = pymysql.connect(
host = "127.0.0.1",
user = "root",
password = "root",
database = "test",
charset = 'utf8',
cursorclass = pymysql.cursors.DictCursor)
#获取游标
cursor = conn.cursor()
try:
# 执行一条insert语句,返回受影响的行数
# cursor.execute("INSERT INTO para5(name,age) VALUES(%s,%s);",('次牛','12'))
# 执行多次insert并返回受影响的行数
cursor.executemany("INSERT INTO wx(wxddh,jine,uptime) VALUES(%s,%s,%s);", [('444', '12','12'), ("2", '11','12'), ('3', '10','12')])
# 提交执行
conn.commit()
print('数据提交')
except Exception as e:
# 如果执行sql语句出现问题,则执行回滚操作
conn.rollback()
print('数据回滚')
print(e)
finally:
# 不论try中的代码是否抛出异常,这里都会执行
# 关闭游标和数据库连接
cursor.close()
conn.close()
© 版权声明
文章版权归作者所有,未经允许请勿转载。