这段代码定义了一个extract_tables函数,用于提取SQL语句中的表名。它遍历解析后的SQL结构,查找FROM和JOIN关键字后面的表名,并将它们添加到一个集合中。 总结 sqlparse是一个功能强大的SQL解析工具,它可以帮助你解析、格式化和美化SQL语句,提取表名和字段名等信息。通过使用sqlparse,你可以更方便地处理和分析SQL语句...
yielditem.value defextract_tables(sql): """ 提取sql中的表名(select语句) """ from_stream = extract_from_part(sqlparse.parse(sql)[0]) join_stream = extract_join_part(sqlparse.parse(sql)[0]) returnlist(extract_table_identifiers(from_stream)) + list(extract_table_identifiers(join_stream))...
value def extract_tables(sql): """ 提取sql中的表名(select语句) """ from_stream = extract_from_part(sqlparse.parse(sql)[0]) join_stream = extract_join_part(sqlparse.parse(sql)[0]) return list(extract_table_identifiers(from_stream)) + list(extract_table_identifiers(join_stream)) 4 ...
def extract_tables(sql): """ 提取sql中的表名(select语句) :param sql: :return: """ from_stream = extract_from_part(sqlparse.parse(sql)[0]) join_stream = extract_join_part(sqlparse.parse(sql)[0]) return list(extract_table_identifiers(from_stream)) + list(extract_table_identifiers(joi...
def extract_tables(sql): """ 提取sql中的表名(select语句) :param sql: :return: """ from_stream = extract_from_part(sqlparse.parse(sql)[0]) join_stream = extract_join_part(sqlparse.parse(sql)[0]) return list(extract_table_identifiers(from_stream)) + list(extract_table_identifiers(joi...
def extract_tables(sql): """ 提取sql中的表名(select语句) """ from_stream = extract_from_part(sqlparse.parse(sql)[0]) join_stream = extract_join_part(sqlparse.parse(sql)[0]) return list(extract_table_identifiers(from_stream)) + list(extract_table_identifiers(join_stream)) ...
import sqlparse import re def format_sql(sql_content): '''将sql语句进行规范化,并去除sql中的注释,输入和输出均为字符串''' parse_str = sqlparse.format(sql_content, reindent=True, strip_comments=True) return parse_str def extract_temp_tables(with_clause): '''从WITH子句中提取临时表名,输出...
where clause conditions etc. I know all these information is available as tokens somewhere in either the View object or on the Database. I was able to retrieve all the columns and the dependant table names by walking dependencytree. But I can't figure out how to extract the other items....
Test that referenced tables are parsed correctly from the SQL. """ assert extract_tables_from_sql("SELECT * FROM tbname") == {Table("tbname")} assert extract_tables_from_sql("SELECT * FROM tbname foo") == {Table("tbname")} ...
self.__extract_from_token(statement) self._table_names=self._table_names-self._alias_names @property deftables(self): returnself._table_names defis_select(self): returnself._parsed[0].get_type()=='SELECT' defstripped(self): returnself.sql.strip('\t\n;') ...