分割SQL语句
sql
- 包含一个或多个SQL语句的字符串
encoding
- 语句的编码(可选)
美化sql
format()函数接受关键字参数
-
keyword_case
关键词upper
、lower
sql的保留字大小写 -
identifier_case
标识符的upper
、lower
大小写 -
strip_comments=Ture
删除注释 -
reindent=Ture
美化sq缩进语句发生改变
基类
所有返回的对象都从这些基类继承。在Token
此类表示单个令牌和 TokenList
类是一组令牌。后者提供了检查其子类的方法
1.Token
它表示单个标记,并具有两个实例属性:
value
标记的未更改值,是标记ttype
的类型。
-
flatten()
解决分组 -
has_ancestor(other)
如果其他的再其父类中,则返回 -
is_child_of(other)
如果标记是其他标记的子标记,则返回 -
match(ttype, values, regex=False)
-
within(group_cls)
返回结果如下
Token子类类型
-
sqlparse.sql.Token
-
sqlparse.sql.Where
-
sqlparse.sql.Identifier
-
sqlparse.sql.IdentifierList
token.ttype属性(sqlparse.sql.Token)
-
Token.Keyword.DDL
标记语法create
语句 -
Token.Keyword.DML SELECT
标记法 select
、updata
、delete
-
Token.Keyword
SQL保留的关键字 -
Token.Text.Whitespace
空格,sql语句间的空格 -
Token.Text.Whitespace.Newline
sql新的一行间空格 -
Token.Punctuation
结束标点通常为;
2.TokenList
一组令牌,t其有一个额外的属性tokens,包含子标记列表
SQL表示类(SQL语句的不同部分)
- 判断sql的类型
DML
/DDL
get_type()
语句的类型
返回SQL标记关键字SELECT
、select
、updata
、delete
、create
-
Identifier
标识符
get_array_indices()
返回索引标记列表的迭代器
get_ordering()
返回排序或None大写字符串
get_typecast
None以字符串形式返回类型转换或此对象
is_wildcard
True如果此标识符包含通配符,则返回
-
IdentifierList
标识符列表
get_identifiers
返回标识符, 不包含空格和标点符号
-
where语句
-
一个或多个WHEN且可能是ELSE部分的CASE语句
get_cases(skip_ws = False )
返回两个元组的列表(条件,值)
if else 存在 条件是None
-
括号之间的标记
-
带有
else if或
else部分的
if子句
-
FOR
循环
- 像
var:= val;
这样的赋值
- 在
WHERE
子句中使用的比较