DuckDB直接连接Mysql数据库
前言
在实际工作中,经常会是这样的情况,我们有些数据在CSV文件里面,有一些数据可能有以Parquet格式保存,还有数据是在Mysql数据库里面。当我们想要结合起来做分析的时候就会很麻烦。
通常的做法会是搭建数仓,各类型数据都同步到数仓就可以统一使用了。这确实是很多企业的做法,但是对于个人分析或者数据量并没有那么多的情况下,我们该如何做分析呢?
答案就是DuckDB。
前面我们已经介绍了DuckDB对CSV和Parquet的使用,本文我讲为大家介绍如何用DuckDB直接连数据库。
DuckDB连接Mysql数据库
- 安装Mysql扩展
sql
INSTALL mysql;
- 连接数据库
sql
ATTACH 'host=localhost user=root port=3306 database=appdb password=123456' AS mysqldb (TYPE MYSQL);
mysql数据库请自行创建并插入数据,此处不再赘述。
- 切换数据库
sql
use mysqldb;
- 查询数据
sql
select * from mysqldb.goods;
- 聚合查询
sql
select count(*), sum(tp) from mysqldb.goods;
至此,使用DuckDB查询Mysql的数据就完成了。不知道你有没有觉得很神奇。除了查询数据,还可以实现写数据,大家有兴趣的可以自行实践。
想要学习DuckDB更多玩法,请关注:遇码,回复duckdb,获取官方文档。