sqlparse(未完待續)

2021-09-17 22:43:15 字數 3040 閱讀 3363

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識別符號的upperlower大小寫

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.tokensqlparse.sql.wheresqlparse.sql.identifiersqlparse.sql.identifierlist

token.ttype屬性(sqlparse.sql.token)

token.keyword.ddl標記語法create語句

token.keyword.dml select標記法selectupdatadeletetoken.keywordsql保留的關鍵字

token.text.whitespace空格,sql語句間的空格

token.text.whitespace.newlinesql新的一行間空格

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種圖 用例圖 描述系統的功能。類圖 描述系統的靜態結構 類及其相互關係 物件圖 描述系統在某個時刻的靜態結構 物件及其相互關係 順序圖 按時間順序描述...