>>> import sqlparse >>> sql = 'select * from foo; select * from bar;' >>> print(sqlparse.split(sql)) ['select * from foo;', 'select * from bar;']
使用format()函数可以美化SQL语句
1 2 3 4 5 6 7
>>> sql = "select * from foo where id in (select id from bar);" >>> print(sqlparse.format(sql, reindent=True, keyword_case='upper')) SELECT * FROM foo WHERE id IN (SELECT id FROM bar);
使用parse()函数,会解析sql并返回多个Statement对象
1 2 3 4
>>> sql = "select * from foo where id in (select id from bar);" >>> stmt = sqlparse.parse(sql)[0] >>> print(stmt.tokens) [<DML 'select' at 0x206F17C6768>, <Whitespace ' ' at 0x206F17C67C8>, <Wildcard '*' at 0x206F17C6828>, <Whitespace ' ' at 0x206F17C6888>, <Keyword 'from' at 0x206F17C68E8>, <Whitespace ' ' at 0x206F17C6948>, <Identifier 'foo' at 0x206F179CC00>, <Whitespace ' ' at 0x206F17C6D68>, <Where 'where ...' at 0x206F179C9A8>]