Apabila membina sistem audit SQL, saya ingin memampatkan pernyataan SQL yang dimasukkan oleh pengguna (untuk penyimpanan dalam DB) dan mencantikkan (untuk paparan antara muka).
Saya menjumpai dua perpustakaan berkaitan ular sawa:
`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`: 这个库缺点太多
Adakah anda mempunyai perpustakaan yang berkaitan untuk disyorkan? Perpustakaan berkaitan JS juga disediakan
Untuk mencantikkan SQL, anda boleh menggunakan sqlparse di atas Bagi pemampatan sql, anda boleh mencapainya dengan membuang rentetan yang berlebihan.