import pandas as pd
import sqlalchemy
import pymysql
import pymssql
import pyhive
# 连接hive
def con_hive(sql):
user_name = "hive链接地址"
hive_engine = sqlalchemy.create_engine(user_name)
data = pd.read_sql(sql, hive_engine)
print ("\n数据读取完毕\n")
return data
# 连接mysql
def con_mysql(sql):
conn = pymysql.connect(host="服务器地址"
, port = '端口'
, user="用户名"
, passwd="用户密码"
, db = '默认数据库名'
, charset="utf8")
cursor = conn.cursor()
cursor.execute(sql)
data = pd.read_sql(sql,conn)
conn.close()
print ("\n数据读取完毕\n")
return data
# 连接Oracle
def con_oracle(sql):
db = pymssql.connect(server="服务器地址"
, port='端口'
, user="用户名"
, password="用户密码"
, database="默认数据库名"
)
cursor = db.cursor()
cursor.execute(sql)
data = pd.read_sql(sql,db)
db.close()
print ("\n数据读取完毕\n")
return data
# 写入 mysql 数据库
def write_into_mysql(data,table): # table 待写入的数据表名
engine = sqlalchemy.create_engine('mysql+pymysql://用户名:密码@服务器地址:密码/默认数据库名?charset=utf8')
# if_exists='replace' 表示覆盖原表数据
pd.io.sql.to_sql(data,table,engine,if_exists='replace',index = False)
print ("数据存储完毕")
使用python连接数据库
于 2022-05-08 20:43:24 首次发布