让你的SQL写的更快

让你的SQL写的更快

掐指一算,距离写上篇文章已经有四个月了。没办法啊,工作太忙了!

因为工作的原因,接触SQL比较多。SQL这东西嘛,说难写也不难写,毕竟可以几小时完成入门?但和业务结合起来就变难了——不仅仅是 select from 哪一张表的问题了。

不过呢,在理解业务逻辑后,我觉得还是有些机械化的书写是可以省去的,比如用case when分层的时候。之前我写case when基本就是ctrl+C 和ctrl+V 然后局部去修改,虽然也不慢,但是复制粘贴还是很麻烦,如果有十几个无规律可循的分层的时候就更加麻烦了。后来我就用python写了一点优化方式,用tkinter封装了一下:

但python打包后的exe文件有8MB,有点大,而且很难分享给别人。接着尝试了用html+javascript的方式搞了个页面。很久没有接触web方向,据说boostrap已经过时了?摸索着把python代码翻译成了javascript,排了下版(其实就是改了改boostrap某个示例模板),一个略显粗糙的小工具就诞生了!

CASE WHEN 自动生成小工具

弄完这个后,我又想到了一个很常见的场景:关联很多表。当你需要取不同字段从不同表时,你可能要写n个join,每个表又可能要写where = 某个时间分区,又是很机械的方式,一个更加粗糙的小工具又诞生了:

SQL 模板生成小工具

虽然js代码写得很垃圾,还是完成了我的预期设想,毕竟——能偷多少懒是多少!

我把他们都放到了线上,有兴趣的朋友可以瞅瞅,欢迎提出意见以及还有什么偷懒的办法!

Tools for SQLtoolsforsql.cn

编辑于 2018-09-20

文章被以下专栏收录