做SQL審核系統時,想對使用者輸入的SQL語句做壓縮(用來存入DB中)和美化(用於介面展示)。
找了兩個python相關的函式庫:
`python-sqlparse`
这个库对简单的一些select语句美化效果还可以,但是稍微复杂一点的SQL,美化的效果不明显,比如这样的SQL:
CREATE TABLE `t1` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表1';
`pygmentize`: 这个库缺点太多
各位有沒有相關的函式庫推薦的? JS相關的函式庫也可以
對SQL美化倒是可以用上面的sqlparse,至於對sql壓縮可以透過剔除多餘的字串來實現。