Làm cho SQL dễ đọc
Các câu truy vấn được sao chép từ log, do ORM tạo ra hoặc viết vội thường dính liền thành một dòng dài, rất khó đọc và càng khó debug. Công cụ định dạng SQL này sẽ chia câu truy vấn của bạn thành các mệnh đề rõ ràng — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY — đặt mỗi cột và điều kiện trên một dòng riêng, đồng thời thụt lề nhất quán cho các truy vấn con và biểu thức CASE. Kết quả sẽ dễ xem lại, dễ so sánh trong hệ thống quản lý phiên bản và dễ chia sẻ với đồng nghiệp hơn.
Tính năng
- 12 loại SQL, từ SQL tiêu chuẩn đến MySQL, PostgreSQL, SQL Server, Oracle, BigQuery và Snowflake.
- Kiểu chữ từ khóa: UPPER (viết hoa), lower (viết thường) hoặc giữ nguyên như lúc nhập; áp dụng cho từ khóa, kiểu dữ liệu và hàm.
- Thụt lề bằng 2 dấu cách, 4 dấu cách hoặc tab.
- Nhiều câu lệnh được phân tách bằng dấu chấm phẩy.
- Giữ nguyên chú thích — cả chú thích dòng
--và chú thích khối/* */. - Sao chép hoặc tải xuống kết quả dưới dạng file
.sql. - Riêng tư: công cụ định dạng chạy trực tiếp trên trình duyệt của bạn.
Trước và sau
Một câu truy vấn như thế này:
select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.status = 'active' group by u.id, u.name order by orders desc;
sẽ trở thành:
SELECT
u.id,
u.name,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE
u.status = 'active'
GROUP BY
u.id,
u.name
ORDER BY
orders DESC;
Mẹo viết SQL
- Mỗi mệnh đề một dòng. Việc bắt đầu mỗi mệnh đề chính trên một dòng mới giúp bạn nhìn lướt qua là thấy ngay cấu trúc của câu truy vấn.
- Dùng bí danh (alias) có ý nghĩa. Các bí danh ngắn như
uvàocó thể dùng cho các truy vấn nhỏ, nhưng bí danh mang tính mô tả sẽ rất hữu ích cho các báo cáo dài. - Ghi rõ tên cột trong các phép nối (join) (ví dụ:
orders.user_idthay vìuser_id) để tránh nhầm lẫn. - Giữ định dạng nhất quán trong toàn bộ dự án để các bản diff hiển thị những thay đổi thực sự, chứ không phải do khoảng trắng.
Các công cụ liên quan
Bạn đang xử lý kết quả truy vấn? Hãy chuyển đổi dữ liệu đã xuất bằng công cụ Chuyển CSV sang JSON, làm đẹp kết quả API trả về bằng Định dạng JSON, hoặc so sánh hai phiên bản của một câu truy vấn bằng công cụ So sánh văn bản.