python连接SQLserver, oracle,redshift, mySQL四种数据库读取表格及列名的方法总结

阅读: 评论:0

python连接SQLserver, oracle,redshift, mySQL四种数据库读取表格及列名的方法总结

python连接SQLserver, oracle,redshift, mySQL四种数据库读取表格及列名的方法总结

目录

  • 简单介绍
  • SQL server
  • Oracle
  • Redshift
  • mySQL
  • 总结

简单介绍

本人是刚刚学习Python小白,因为工作关系,接触到几种不同类型的数据库。这是连接四种不同数据库并获取数据的方法总结。如有不足之处,望高手指点。

SQL server

package: pymssql

import pymssql
#建立连接
conn = t('server','username','password','DB')
#创建cursor
cursor = conn.cursor()
#执行查询,传入参数
ute(sql % (parameter))
#获取并存下数据
y = cursor.fetchall()
y = pd.DataFrame(y)
#获取列名,如果查询结果为空时,下面的语句会报警,所以加了这么个if.
if len(x) != lumns = [i[0] for i in cursor.description]
#关闭cursor和连接
cursor.close()
conn.close()

Oracle

package: cx_Oracle

import cx_Oracle
#创建连接
conn = t('user', 'password',cx_Oracle.makedsn("server", "port", 'servername'))
#创建cursor
cursor = conn.cursor()
#执行查询,传入参数
ute(sql % (parameter))
#获取并存下数据
y = cursor.fetchall()
y = pd.DataFrame(y)
#获取列名:如果查询结果为空时,下面的语句会报警,所以加了这么个if.
if len(x) != lumns = [i[0] for i in cursor.description]
#关闭cursor和连接
cursor.close()
conn.close()

Redshift

package: psycopg2

import psycopg2
#建立连接
conn = t("dbname=??? host=??? port=???? user=??? password=???)
cursor = conn.cursor()
ute(sql % (parameter))
data = cursor.fetchall()
x=pd.DataFrame(data)
if len(x) != lumns = [i[0] for i in cursor.description]
else:print('no data from Redshift')
cursor.close()
conn.close()

mySQL

package: pymysql

conn = t(host = ???,port = ???,user = ???,passwd =???,db =???,cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
ute(sql % (parameter) )
x = cursor.fetchall()
x = pd.DataFrame(x)
cursor.close()
conn.close()
return x

总结

oracle, SQL server,和 redshift 建立连接的时候大同小异,获取数据和列名的时候,使用的方法都是一样的。

但是mysql是个奇葩,用原来的获取方式,拿到的是个tuple. 所以再创建要定义这个cursor类型。

cursorclass=pymysql.cursors.DictCursor

然后拿到的数据就是带列名的,神奇呀。

pandas 有一个read_sql也挺好用,也包括列名,但是传参数我还没有尝试过怎么用。下次再练习一下下。

本文发布于:2024-01-30 18:17:05,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170660983021908.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:四种   表格   数据库   方法   SQLserver
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23