python - 解析 SQL 脚本以提取表名和列名

标签 python mysql sql sql-server parsing

如果我有一个 SQL 脚本,是否有一种方法可以将脚本中引用的列和表解析并提取到类似结构的表中:

脚本:

Select t1.first, t1.last, t2.car, t2.make, t2.year
from owners t1
left join cars t2
on t1.owner_id = t2.owner_id

输出:

Table   Column
owners  first
owners  last
owners  owner_id
cars    car
cars    make
cars    year
cars    owner_id

最佳答案

老问题,但很有趣,所以这里开始 - 将您的脚本暂时转换为一个存储过程,强制 SQL Server 映射依赖关系,然后您可以使用以下方法检索它们:

SELECT referenced_entity_name ,referenced_minor_name FROM sys.dm_sql_referenced_entities('dbo.stp_ObjectsToTrack', 'Object')

关于python - 解析 SQL 脚本以提取表名和列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31081534/

相关文章:

sql - ColdFusion 表单不向数据库提交数据

mysql - 添加其他表的 View 状态以选择结果

python - Twisted 在此平台上不受支持的轮子

python - 使用图像扩展 Django 管理

mysql - sql查询从单个表中获取标签信息

sql - 创建触发器时使用 'REFERENCING NEW AS NEW OLD AS OLD '

python - PyQt5:检查动态创建的复选框是否存在并引用它们

python - 通过将非采样值归零来对 numpy 数组进行采样?

javascript - 下拉列表到 JavaScript 数组以填充文本框

mysql - SQL 排序,使得行仅在另一个列值相等的情况下排序