前言
在科学计算中可以可以不需要使用传统的连接MySQL和Oracle的库。使连接更加方便。避免将大量的经历浪费到科学计算之外的工作上。下面将介绍两种常用的数据库的连接
微信公众号:大数据报文
连接MySQL
# 首先要导入这个库,如果装过Anaconda会自带这个库
from sqlalchemy import create_engine
# 获取与mysql的连接,格式为:协议://用户名:密码@地址/数据库名
engine = create_engine('mysql+pymysql://root:root@localhost/test')
# 写一条SQL语句
sql = 'select * from user'
# 使用pandas读取数据库表为df
mysql_df = pd.read_sql(sql,engine)
# 取出这个表中的前5条数据
mysql_df.head()
'''
name id age score
0 aa 1 12 87
1 ss 2 12 85
2 dd 3 12 84
3 ff 4 12 80
4 gg 5 12 90
'''
连接Oracle
-
与连接mysql一样,也可以不使用传统方法进行连接,而是使用下面这种比较高效的方式
-
需要注意的是SQL语句中不能有分号
# 同样是使用这个库
from sqlalchemy import create_engine
# 连接oracle的url格式基本也没有太大变化,@前面的是用户名:密码的格式
orcl_engine = create_engine('oracle://root:root@localhost:1521/orcl')
sql = 'select * from t_ryxx'
orcl_df = pd.read_sql(sql, orcl_engine)
orcl_df[['xm','sfzh','csrq','xb','accent']].head(5).sort_values('csrq')
'''
xm sfzh time xb accent
2 宋哈哈 360105198405250000 1978-09-16 1 None
1 张哈哈 350105196402160000 1980-12-11 2 110000
3 范哈哈 340111196505170000 1985-12-08 1 None
4 党哈哈 330121197007010000 1993-11-22 2 None
0 王哈哈 320105196401200000 1994-01-17 2 None
'''