sqlparse.split(sql,encoding = none )
sql
- 包含乙個或多個sql語句的字串
encoding
- 語句的編碼(可選)
sql = 'select * from foo; select * from bar;'
sql_list = sqlparse.split(sql)
print(sql_list)
sqlparse.format(sql,encoding = none, ** options )
format()函式接受關鍵字引數
identifier_case
識別符號的upper
、lower
大小寫
strip_comments=ture
刪除注釋
reindent=ture
美化sq縮排語句發生改變
sql = "select * from foo where id in (select id from bar);"
sqlpe = sqlparse.format(sql, reindent=true, keyword_case='upper')
print(sqlpe)
select *
from foo
where id in
(select id
from bar);
所有返回的物件都從這些基類繼承。在token
此類表示單個令牌和tokenlist
類是一組令牌。後者提供了檢查其子類的方法
sqlparse.sql.token(ttype,value )
它表示單個標記,並具有兩個例項屬性:
value
標記的未更改值,是標記ttype
的型別。
flatten()
解決分組
has_ancestor(other)
如果其他的再其父類中,則返回
is_child_of(other)
如果標記是其他標記的子標記,則返回
match(ttype, values, regex=false)
within(group_cls)
sql = 'select * from "someschema"."mytable" where id = 1'
parsed = sqlparse.parse(sql)
stmt = parsed[0].tokens
for token in stmt:
print(token.ttype, token.value)
返回結果如下
token.keyword.dml select
token.text.whitespace
token.wildcard *
token.text.whitespace
token.keyword from
token.text.whitespace
none "someschema"."mytable"
token.text.whitespace
none where id = 1
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
結束標點通常為;
一組令牌,t其有乙個額外的屬性tokens,包含子標記列表
flatten()
get_alias()
get_name()
get_parent_name()
get_token_at_offset
(offset)
group_tokens
(grp_cls, start, end, include_end=true, extend=false)
has_alias()
insert_after
(where, token, skip_ws=true)
insert_before
(where, token)
token_first
(skip_ws=true, skip_cm=false)
token_index
(token, start=0)
token_next
(idx, skip_ws=true, skip_cm=false, _reverse=false)
token_prev
(idx, skip_ws=true, skip_cm=false)
nginx 未完待續
yum install y pcre yum install y pcre devel yum install y openssl yum install y openssl devel yum install y zlib yum install y gccyum安裝 yum install y ...
CALayer使用(未完待續)
一 什麼是calayer?在ios系統中,你能看得到摸得著的東西基本都是uiview。比如乙個按鈕 乙個文字標籤 乙個文字輸入框 乙個圖示等等,這些都是uiview。其實uiview之所以顯示在螢幕上,完全是因為它內部的乙個層。在建立uiview物件時,uiview內部會自動建立乙個層 即calay...
UML整理 未完待續
統一建模語言 unified modeling language,uml 一組用於描述和設計軟體的圖形表示法,通常用於物件導向設計領域。uml常見的9種圖 用例圖 描述系統的功能。類圖 描述系統的靜態結構 類及其相互關係 物件圖 描述系統在某個時刻的靜態結構 物件及其相互關係 順序圖 按時間順序描述...