如何用Python高效解析复杂SQL并提取数据库及表结构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3525个文字,预计阅读时间需要15分钟。
需求:公司需要一位数据分析师,提交一份SQL报告,通常包含三四百行。由于数据安全的需求,不能直接开放所有数据库和表给数据分析师查询,因此需要解析SQL中的数据库和表,并与权限管理系统对接。
需求:
公司的数据分析师,提交一个sql, 一般都三四百行。由于数据安全的需要,不能开放所有的数据库和数据表给数据分析师查询,所以需要解析sql中的数据库和表,与权限管理系统中记录的数据库和表权限信息比对,实现非法查询的拦截。
解决办法:
在解决这个问题前,现在github找了一下轮子,发现python下面除了sql parse没什么好的解析数据库和表的轮轮。到是在java里面找到presto-parser解析的比较准。于是自己结合sql parse源码写了个类,供大家参考,测试了一下,检测还是准的。
本文共计3525个文字,预计阅读时间需要15分钟。
需求:公司需要一位数据分析师,提交一份SQL报告,通常包含三四百行。由于数据安全的需求,不能直接开放所有数据库和表给数据分析师查询,因此需要解析SQL中的数据库和表,并与权限管理系统对接。
需求:
公司的数据分析师,提交一个sql, 一般都三四百行。由于数据安全的需要,不能开放所有的数据库和数据表给数据分析师查询,所以需要解析sql中的数据库和表,与权限管理系统中记录的数据库和表权限信息比对,实现非法查询的拦截。
解决办法:
在解决这个问题前,现在github找了一下轮子,发现python下面除了sql parse没什么好的解析数据库和表的轮轮。到是在java里面找到presto-parser解析的比较准。于是自己结合sql parse源码写了个类,供大家参考,测试了一下,检测还是准的。

