【发布时间】:2021-02-18 03:08:34
【问题描述】:
我正在尝试使用 sqlparse 提取查询中的所有表名,但在子查询或插入括号中的语句时遇到问题。
我有以下疑问,
import sqlparse
sql = """
create test.test_table as (
select 1
from fake.table
);
"""
当我在括号中查找包含语句的标记时,使用
y = sqlparse.parse(sql)
for i in y[0].tokens:
if isinstance(i, Identifier):
print(i)
print(i.get_real_name())
我得到以下结果,
test.test_table as (
select 1
from fake.table
)
test_table
结果仅作为一个标识符标记返回。当我尝试从括号内获取表名时,所有返回的是 test.test_table。我最终要做的是提取两个表名 test.test_table 和 fake.table
有没有人知道我该怎么做?
【问题讨论】:
标签: python sql-parser