sql网站
打开浏览器,输入 sqlfiddle.com,页面加载不到两秒。左边一栏贴建表语句,右边一栏写查询,中间那个"Run SQL"按钮一点,结果就出来了。没有安装包,没有配置文件,连账号都不用注册。这东西我用了快八年,从大学做课程设计到后来帮同事临时验证一个联表逻辑,它一直在书签栏里待着。 SQL 相关的网站其实分成好几类,混在一起谈容易乱。我按自己实际用过的场景拆开说。 sqlfiddle 算是最老牌的那一批。界面丑,偶尔还会抽风,但它支持 MySQL、PostgreSQL、SQLite、Oracle 甚至 MSSQL 多种方言切换。有次我需要确认 Oracle 里 后来冒出来一个 db-fiddle.com,界面清爽不少,支持导出建表脚本,还能生成分享链接。我帮远程同事排查问题时经常用它——写好 schema 和查询,链接一发,对方打开就能看到完整上下文,比截图强太多。缺点是免费版有查询次数限制,重度使用得掏钱。 再提一个 sqliteonline.com。纯前端跑 SQLite,数据不出浏览器,处理一些敏感的小数据集时比较放心。加载速度也快,适合临时算个数。 写 SQL 写到一半忘了某个窗口函数的参数顺序,这种事太常见了。我一般直接去 PostgreSQL 官方文档,它的搜索和导航做得扎实,每个函数都有可执行的示例。MySQL 文档相对啰嗦,但胜在全面。 如果想快速对比不同数据库的语法差异,有个叫 modern-sql.com 的站点值得收藏。作者把标准 SQL 和各家的实现差异整理成表格,窗口函数、 LeetCode 的数据库题库我刷过一阵。题目质量参差不齐,但胜在有在线判题,能立刻知道自己写的对不对。适合练手,不太适合系统学习——它的题目偏算法思维,跟实际业务里写 SQL 的感觉有差距。 HackerRank 的 SQL 板块分类更细,从基础 SELECT 到高级窗口函数都有阶梯。我推荐给刚入门的同事用过,反馈还行。缺点是部分题目描述含糊,得反复读几遍才明白要什么。 有次我在 sqlfiddle 上验证一个 还有一次,同事发来一个 db-fiddle 链接让我帮忙看。我打开发现他用的 PostgreSQL 版本是 9.6,而生产环境是 13。窗口函数里一个 临时验证语法,sqlfiddle 或 db-fiddle 够用。要分享给别人的,db-fiddle 的链接功能更方便。处理敏感数据,sqliteonline 更稳妥。系统学习,官方文档加 modern-sql 的组合比刷题网站扎实。面试前突击,LeetCode 和 HackerRank 挑着做。 工具本身不复杂,关键是清楚每个站点的边界在哪。知道它擅长什么、不擅长什么,比记住十个网址有用。在线练手环境
ROWNUM 和 FETCH FIRST 的行为差异,本地没装 Oracle,就是靠它跑出来的。文档与速查
GROUPING SETS、LATERAL 这些都有覆盖。我上次从 MySQL 迁移到 PostgreSQL 时,靠它省了不少翻文档的时间。练习与面试题
一个具体的坑
LEFT JOIN 加 WHERE 条件的查询,结果和本地 MySQL 跑出来的不一样。查了半天才发现,sqlfiddle 默认的 MySQL 版本比较老,对 ON 和 WHERE 的处理在某些边界情况下有差异。从那以后我养成了习惯:在线工具跑通之后,一定在目标数据库版本上再验一遍。工具是工具,不能全信。NULLS LAST 的默认行为在两个版本间变了,导致结果对不上。这种坑不踩一次记不住。怎么选
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-