首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一行代码实现Python连接所有数据库做数据分析

市面上比较常用的数据库包括mysql, presto, hive, druid, kylin, spark, elasticsearch等,作为一名数据分析师,面对不同的数据库,是否有头麻的情况。别担心,使用python连接以上数据库,你只需要一招,5行代码即可。

对于大部分sqlboys和sqlgirls而言,只关心我的sql提交到以上数据库,返回给我一个pandas的dataframe即可。所以必要的输入包括sql和数据库连接信息(包括地址,port, 账号密码)即可。

代码语言:javascript
复制
from?sqlachemy?import?create_engine??import?pandas?as?pd??#?数据库连接地址?engine?=?create_engine("mysql://root:123456@127.0.0.1:3306/database")?#?用户要查询的sql??sql?=?"select?*?from?users?limit?10"?df?=?pd.read_sql_query(sql,?engine)?

presto

代码语言:javascript
复制
#?presto?uri?=?"presto://username:password@127.0.0.1:8080/database?source=pyhive"?sql?=?"select?*?from?users?limit?10"?df?=?pd.read_sql_query(sql,?create_engine(uri))?

mysql

代码语言:javascript
复制
#?mysql?uri?=?"mysql://root:123456@127.0.0.1:3306/database"?sql?=?"select?*?from?users?limit?10"?df?=?pd.read_sql_query(sql,?create_engine(uri))?

druid

代码语言:javascript
复制
#?druid?uri?=?"druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql"?sql?=?"select?count(*)?from?users?where?_time>?TIME_SHIFT...."?df?=?pd.read_sql_query(sql,?create_engine(uri))?

更多数据库连接方式:

数据库

示例

Apache Druid

druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql

Apache Hive

hive://hive@{hostname}:{port}/{database}

Apache Kylin

kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>

Apache Spark SQL

hive://hive@{hostname}:{port}/{database}

ClickHouse

clickhouse://{username}:{password}@{hostname}:{port}/{database}

ElasticSearch

elasticsearch+http://{user}:{password}@{host}:9200/

Presto

presto://{user}@{host}:{port}/{database}?source={source}

MySQL

mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>

基本上市面上所有的数据库,只要该数据库支持sqlalchemy dialect和对应的python driver,都可以按照上面的套路去无脑操作。简单省心。

核心只需要一行代码即可:

代码语言:javascript
复制
df?=?pd.read_sql_query(sql,?create_engine(uri))?
  • 发表于:
  • 原文链接http://news.51cto.com/art/202104/660578.htm
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com