您现在的位置是:亿华云 > IT科技
一行代码实现Python连接所有数据库做数据分析
亿华云2025-10-03 02:18:47【IT科技】9人已围观
简介市面上比较常用的数据库包括mysql, presto, hive, druid, kylin, spark, elasticsearch等,作为一名数据分析师,面对不同的数据库,是否有头麻的情况。别担
市面上比较常用的行代现P析数据库包括mysql, presto, hive, druid, kylin, spark, elasticsearch等,作为一名数据分析师,码实面对不同的接所据库据分数据库,是有数否有头麻的情况。别担心,做数使用python连接以上数据库,高防服务器行代现P析你只需要一招,码实5行代码即可。接所据库据分
对于大部分sqlboys和sqlgirls而言,有数只关心我的做数sql提交到以上数据库,返回给我一个pandas的行代现P析dataframe即可。所以必要的码实输入包括sql和数据库连接信息(包括地址,香港云服务器port,接所据库据分 账号密码)即可。
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
# 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
# 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
# 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,都可以按照上面的套路去无脑操作。简单省心。服务器托管
核心只需要一行代码即可:
df = pd.read_sql_query(sql, create_engine(uri))很赞哦!(8773)