前言
作为开发者,几乎每天都要和 SQL 打交道。但从生产环境复制的 SQL 往往是一团乱麻:没有换行、没有缩进、嵌套子查询层层叠叠……调试起来头都大了。
市面上的 SQL 格式化工具虽然不少,但要么收费、要么 UI 老旧、要么功能不够完善。于是我开发了 SQLNice —— 一个免费、现代、好用的在线 SQL 格式化工具。
SQLNice 是什么?
SQLNice 是一个专注于 SQL 代码格式化的在线工具,帮助你快速美化凌乱的 SQL 代码。
🔗 在线体验:sqlnice.com
核心功能
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 书写方式。
与其他工具对比
| 功能 | SQLNice | Poor SQL | Instant 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
完全免费,无需注册,隐私安全。希望能帮到大家!
欢迎反馈和建议 👏