Intro - No stand alone

SQL formatter online — làm đẹp và chuẩn hóa câu lệnh SQL

Admin
May 31, 2026
8 phút đọc
0

Đây là một câu SQL thực tế từ một hệ thống production mà tôi từng thấy:

plain
select u.id,u.name,u.email,o.total,o.created_at from users u inner join orders o on u.id=o.user_id where o.status='completed' and o.created_at between '2024-01-01' and '2024-12-31' order by o.total desc limit 100

Chạy được? Hoàn toàn. Đọc được? Tùy người. Maintain được sau 3 tháng? Chúc may mắn. Chỉ cần một cái click, tool này biến đoạn đó thành:

plain
SELECT u.id, u.name, u.email, o.total, o.created_at FROM users u INNER JOIN orders o ON u.id = o.user_id WHERE o.status = 'completed' AND o.created_at BETWEEN '2024-01-01' AND '2024-12-31' ORDER BY o.total DESC LIMIT 100

Cùng một câu query, khác hoàn toàn về độ dễ đọc. Đó là SQL Formatter.

SQL formatter là gì và tại sao cần dùng?

SQL Formatter là tool tự động định dạng lại câu lệnh SQL theo chuẩn nhất định: viết hoa keyword, thêm xuống dòng và indent đúng chỗ, căn lề các mệnh đề cho đồng đều. Kết quả là code SQL dễ đọc, dễ review và dễ bảo trì hơn rất nhiều.

Trong thực tế, SQL xấu xuất hiện ở khắp nơi: query được sinh tự động bởi ORM, câu lệnh copy từ log database, đoạn SQL viết vội lúc debug, hay stored procedure được viết từ nhiều năm trước mà không ai dám đụng vào. Format lại là bước đầu tiên trước khi đọc hiểu và tối ưu.

Tính năng của tool

Tính năngMô tả
Format / BeautifyĐịnh dạng SQL thô thành dạng dễ đọc với keyword viết hoa, xuống dòng và indent chuẩn
MinifyNén SQL về một dòng, loại bỏ khoảng trắng thừa — hữu ích khi nhúng SQL vào code hoặc config
Hỗ trợ nhiều dialectMySQL, PostgreSQL, SQL Server (T-SQL), Oracle, SQLite, MariaDB — mỗi dialect có cú pháp riêng
Highlight cú phápTô màu keyword, string, số, comment giúp phân biệt các thành phần của câu query
Tùy chỉnh indentChọn số space cho mỗi cấp indent (thường là 2 hoặc 4)

Cách sử dụng

  • Bước 1: Dán câu lệnh SQL cần format vào ô nhập liệu — có thể là một câu đơn giản hoặc cả một stored procedure dài.
  • Bước 2: Chọn dialect phù hợp: MySQL, PostgreSQL, SQL Server… (nếu không chắc, chọn Standard SQL).
  • Bước 3: Nhấn Format — kết quả hiện ra ngay lập tức.
  • Bước 4: Nhấn Copy để copy vào clipboard hoặc dùng trực tiếp trong editor của bạn.

Ví dụ trước và sau khi format

Trước (SQL thô, khó đọc):

plain
select p.name,p.price,c.name as category,count(oi.id) as total_sold from products p left join categories c on p.category_id=c.id left join order_items oi on p.id=oi.product_id where p.is_active=1 group by p.id,p.name,p.price,c.name having count(oi.id)>10 order by total_sold desc

Sau khi format:

plain
SELECT p.name, p.price, c.name AS category, COUNT(oi.id) AS total_sold FROM products p LEFT JOIN categories c ON p.category_id = c.id LEFT JOIN order_items oi ON p.id = oi.product_id WHERE p.is_active = 1 GROUP BY p.id, p.name, p.price, c.name HAVING COUNT(oi.id) > 10 ORDER BY total_sold DESC

Sự khác biệt giữa các SQL dialect

Các hệ quản trị cơ sở dữ liệu khác nhau có những cú pháp đặc thù riêng. Chọn đúng dialect giúp tool format chính xác hơn:

DialectĐặc điểm nổi bậtDùng cho
MySQL / MariaDBDùng backtick (`) cho tên bảng/cột, LIMIT để phân trangHầu hết web app, WordPress, Laravel
PostgreSQLDùng nháy kép cho identifier, nhiều kiểu dữ liệu phong phú, hỗ trợ JSON nativeỨng dụng enterprise, data analytics
SQL Server (T-SQL)Dùng [] cho tên bảng/cột, TOP thay vì LIMIT, có GO batch separatorHệ thống Microsoft, .NET apps
OracleDùng ROWNUM để giới hạn kết quả (trước 12c), cú pháp outer join đặc thùHệ thống ngân hàng, enterprise lớn
SQLiteCú pháp đơn giản, ít tính năng hơn, không có stored procedureỨng dụng mobile, embedded, prototype

Ai cần tool này nhất?

  • Backend developer: Format query trước khi paste vào code review, đảm bảo SQL trong codebase nhất quán và dễ đọc.
  • DBA (Database Administrator): Đọc và tối ưu stored procedure, view, trigger được viết từ lâu mà không có format chuẩn.
  • Data Analyst / BI Developer: Format query phức tạp nhiều JOIN, CTE, subquery trước khi chia sẻ với đồng nghiệp.
  • QA / Tester: Đọc hiểu SQL từ log database để debug kết quả test không như mong đợi.
  • Người mới học SQL: Xem SQL được format chuẩn để học cách viết đúng cấu trúc từ đầu.

Best practices khi viết SQL dễ đọc

Quy tắcVí dụ
Viết hoa toàn bộ SQL keywordSELECT, FROM, WHERE, JOIN — không phải select, from
Mỗi mệnh đề chính trên một dòng riêngSELECT, FROM, WHERE, ORDER BY mỗi cái một dòng
Indent các điều kiện phụCác điều kiện AND, OR trong WHERE thụt vào 2-4 space
Đặt alias có nghĩausers u, orders o thay vì users a, orders b
Comment cho query phức tạpDùng -- comment hoặc /* block comment */ giải thích logic

Kết luận

SQL format đúng không làm code chạy nhanh hơn — nhưng nó giúp bạn (và đồng nghiệp) đọc hiểu nhanh hơn, debug dễ hơn, và ít mắc lỗi logic hơn. Với các dự án dài hơi, đó là sự khác biệt giữa codebase lành mạnh và codebase mà không ai muốn đụng vào.

Bookmark tool này để dùng mỗi khi cần format SQL. Khám phá thêm các tool hữu ích khác tại codetuthub.com/tools.

Toàn Nguyễn
Toàn NguyễnTác giả

Tác giả tại CodeTutHub

Xin chào, mình là Toàn 👋
Là Senior Full-Stack Developer ở HCM, đồng thời là người đứng sau CodeTutHub. Mình viết về những gì mình thực sự dùng hàng ngày — từ Laravel, Next.js, đến cách workflow lập trình với AI agents như Claude Code và Cursor.
Nếu bạn thấy bài này hữu ích, hãy subscribe newsletter hoặc kết nối với mình. Mình luôn sẵn sàng thảo luận về dự án thú vị, cơ hội remote, hoặc đơn giản là chat về tech.
Ho Chi Minh City · Open for collaboration

0 Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!
Đang trả lời
Xoá bình luận

Bạn có chắc muốn xoá bình luận này?
Hành động này không thể hoàn tác.

Thông báo hệ thống
Thông tin