python执行sql语句后的返回信息_Python连接数据库,SQL语句查询这样操作!

C:ProgramDataAnaconda3libsite-packagessqlalchemyenginebase.py in_wrap_pool_connect(self, fn, connection)2157try:-> 2158returnfn()2159except dialect.dbapi.Error as e:

▲(点击可查看大图)

# 用户名,密码,数据库名称包含特殊字符串报错解决方法# 方法二:使用pymysql.connect()方法建立连接import pymysqleng = pymysql.connect("118.190.000.111","zhangjian","zhangjiang*2018","demo")data = pd.read_sql(sql = "select * from orderitem limit 10",con=eng)data

▲(点击可查看大图)

# pymsql.connect连接,读入指定表名称,会报错,关键信息1064eng=pymysql.connect(host="118.190.000.111",user="zhagnjian",password="zhangjian*2018",db="demo",charset='utf8')data = pd.read_sql(sql = "category",con=eng)data

▲(点击可查看大图)

使用connection.cursor()方法读取数据库文件# 导入sql文件 使用官方文档案例方法#导入数据库模块import pymysql# 连接数据库eng = pymysql.connect("118.190.000.111","zhangjian","ZhangJian*2018","demo")# 使用 cursor() 方法创建一个游标对象 cursorcursor = eng.cursor()# 编写sql语句sql = """select * from orderitem limit 10;"""# 使用 execute() 方法执行 SQL 查询cursor.execute(sql)# 使用 fetchall() 方法获取所有数据.data = cursor.fetchall()# 关闭数据库连接eng.close()# 返回元组data# 返回信息包括数据类型等数据列信息

▲(点击可查看大图)

# 将元组转化为DataFramedf2 = pd.DataFrame(data = list(data) ,columns = ['SDate', 'ShopID', 'SheetID', 'GoodsID','CateID', 'Qty', 'CostValue','SaleValue', 'OriSaleValue', 'Cost', 'Price'] )df2

04 读入数据库文件方法总结

使用create_engine方法能够满足绝大部分数据库连接与操作命令;

数据库连接信息包含特殊字符串,需要使用mysql.connect()作为连接方法;

pd.read_sql()方法读入数据库文件,返回数据框结构,可以快速浏览数据汇总;

pd.read_sql()使用con参数使用pymsql.connect()方法,sql参数不能直接使用表名称,需要使用完整的sql语句;

使用 cursor() 方法创建游标的方法读取sql语句,返回的是包含列信息的元组,

综上所述,在pandas框架下使用create_engine 加read_sql()方法,读取数据库文件,代码简洁,易懂,返回的是据框;此方法可避免了数据库连接工具与python间的切换时间,有利于提高工作效率。返回搜狐,查看更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值