推荐一个好用的在线 SQL 格式化工具 - SQLNice

5 阅读3分钟

前言

作为开发者,几乎每天都要和 SQL 打交道。但从生产环境复制的 SQL 往往是一团乱麻:没有换行、没有缩进、嵌套子查询层层叠叠……调试起来头都大了。

市面上的 SQL 格式化工具虽然不少,但要么收费、要么 UI 老旧、要么功能不够完善。于是我开发了 SQLNice —— 一个免费、现代、好用的在线 SQL 格式化工具。

SQLNice 是什么?

SQLNice 是一个专注于 SQL 代码格式化的在线工具,帮助你快速美化凌乱的 SQL 代码。

🔗 在线体验sqlnice.com

SQLNice 首页转存失败,建议直接上传图片文件

核心功能

1. 🚀 即开即用,无需注册

打开网页就能用,不需要注册账号,没有使用次数限制,完全免费。

2. 💾 支持 12+ 种数据库

支持主流数据库的 SQL 语法:

  • MySQL
  • PostgreSQL
  • Oracle
  • SQL Server
  • MariaDB
  • SQLite
  • DB2
  • Redshift
  • Snowflake
  • BigQuery
  • 等等...

3. 🔍 智能子查询识别(亮点功能)

这是 SQLNice 的特色功能!能够自动识别嵌套的子查询,并进行分层显示。

格式化前

SELECT u.name,(SELECT COUNT(*) FROM orders o WHERE o.user_id=u.id) as order_count FROM users u WHERE u.status='active'

格式化后

SELECT
  u.name,
  (
    SELECT
      COUNT(*)
    FROM
      orders o
    WHERE
      o.user_id = u.id
  ) AS order_count
FROM
  users u
WHERE
  u.status = 'active'

子查询自动缩进,层次一目了然!

4. ⚙️ 丰富的自定义选项

  • 预设风格:紧凑、标准、展开三种风格
  • 关键字大小写:大写、小写、首字母大写
  • 缩进样式:2 空格、4 空格、Tab
  • 逗号位置:行尾或行首
  • CASE WHEN 格式:紧凑、每条件一行、完全展开
  • 还有更多...

5. 🎨 语法高亮 + 深色模式

  • 代码语法高亮,关键字、表名、字段名颜色区分
  • 支持深色/浅色主题切换,保护眼睛

6. 🔒 隐私保护

所有格式化操作都在浏览器本地完成,不会向服务器发送任何 SQL 代码。你可以放心地格式化包含敏感信息的生产 SQL。

使用示例

场景 1:格式化凌乱的 SQL

从日志或监控工具复制的 SQL 通常是压缩成一行的:

SELECT users.id,users.name,users.email,orders.order_id,orders.amount FROM users INNER JOIN orders ON users.id=orders.user_id WHERE users.created_at>='2024-01-01' AND orders.status='completed' ORDER BY orders.amount DESC LIMIT 10

使用 SQLNice 格式化后:

SELECT
  users.id,
  users.name,
  users.email,
  orders.order_id,
  orders.amount
FROM
  users
  INNER JOIN orders ON users.id = orders.user_id
WHERE
  users.created_at >= '2024-01-01'
  AND orders.status = 'completed'
ORDER BY
  orders.amount DESC
LIMIT
  10

一目了然!

场景 2:统一团队代码风格

在 Code Review 时,统一的代码格式能大大提高可读性。SQLNice 可以帮你快速统一 SQL 风格。

场景 3:学习 SQL 最佳实践

通过格式化工具,可以学习标准的 SQL 书写方式。

与其他工具对比

功能SQLNicePoor SQLInstant SQL Formatter
免费❌ 限制次数
子查询识别
深色模式
自定义选项✅ 丰富⚠️ 较少✅ 丰富
UI 设计⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
隐私保护✅ 本地处理

技术实现

SQLNice 基于以下技术构建:

  • 框架:Next.js 15(App Router)
  • 语言:TypeScript
  • 样式:Tailwind CSS
  • 格式化引擎:基于 sql-formatter 进行了扩展和优化
  • 部署:Vercel

未来计划

  • 支持更多数据库方言(如 T-SQL、PL/SQL 等)
  • 提供 VS Code 插件版本
  • 添加 SQL 语法检查功能
  • 提供 API 接口,方便集成到其他工具
  • 支持批量格式化(多个 SQL 文件)

总结

如果你经常需要格式化 SQL 代码,不妨试试 SQLNice

🔗 在线使用sqlnice.com

完全免费,无需注册,隐私安全。希望能帮到大家!

欢迎反馈和建议 👏