Cách dùng Định dạng SQL
- Dán một hoặc nhiều câu lệnh SQL vào SQL đầu vào (hoặc mở một tệp
.sql). - Chọn dialect của bạn — điều này quan trọng với những thứ như định danh backtick trong MySQL, phép ép kiểu
::trong PostgreSQL hayTOPtrong SQL Server. - Chọn kiểu chữ từ khóa và thụt lề. Truy vấn đã định dạng sẽ cập nhật ngay khi bạn gõ.
- Sao chép kết quả hoặc tải xuống dưới dạng
query.sql.
Công cụ định dạng SQL làm gì?
SQL không phân biệt khoảng trắng, nên các truy vấn do ORM tạo ra, được cơ sở dữ liệu ghi log hoặc viết vội thường nằm trên một dòng rất dài. Công cụ định dạng SQL sẽ phân tích câu lệnh và in lại từng mệnh đề chính — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY — mỗi mệnh đề bắt đầu một dòng mới, danh sách cột được thụt vào bên dưới và truy vấn con được lồng sâu thêm một cấp. Nhờ vậy, bạn dễ phát hiện điều kiện join bị thiếu, OR đặt sai chỗ hay một cột quên đưa vào GROUP BY hơn nhiều.
Ví dụ
select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id
trở thành
SELECT
u.id,
count(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE
u.active = 1
GROUP BY
u.id
Vì sao cài đặt dialect quan trọng
Mỗi cơ sở dữ liệu mở rộng SQL theo một cách khác nhau. Chọn đúng dialect giúp công cụ nhận diện các từ khóa và cú pháp riêng của từng hãng thay vì coi chúng là lỗi:
| Dialect | Ví dụ công cụ hiểu được |
|---|---|
| MySQL / MariaDB | định danh `backtick`, LIMIT 10, 20, ON DUPLICATE KEY UPDATE |
| PostgreSQL | phép ép kiểu ::, tham số $1, RETURNING, thân hàm dùng dollar-quoting |
| SQL Server (T-SQL) | tên trong ngoặc vuông [bracketed], TOP (10), @variables, các batch GO |
| BigQuery | kiểu STRUCT/ARRAY, đường dẫn backtick project.dataset.table, QUALIFY |
| Oracle PL/SQL | biến bind :bind, CONNECT BY, chuỗi q'[…]' |
Nếu truy vấn báo lỗi phân tích cú pháp, nguyên nhân phổ biến nhất là chọn sai dialect — hãy thử lại với đúng cơ sở dữ liệu bạn đang chạy. Công cụ được xây dựng trên thư viện mã nguồn mở sql-formatter và chạy hoàn toàn trên trình duyệt của bạn, nên các truy vấn production chứa dữ liệu khách hàng không bao giờ rời khỏi máy bạn.
Kiểu chữ từ khóa: viết hoa hay viết thường?
Từ khóa VIẾT HOA là quy ước truyền thống, giúp cấu trúc truy vấn nổi bật hơn so với tên bảng và tên cột; nhiều nhóm hiện đại lại thích chữ thường vì dễ gõ và dễ đọc hơn. Hãy chọn một kiểu và giữ nhất quán — các linter như SQLFluff có thể áp dụng trong CI. Tùy chọn Functions kiểm soát riêng các hàm có sẵn như count() hay coalesce().
Muốn so sánh hai phiên bản của một truy vấn? Dán chúng vào Diff Checker. Có kết quả xuất dưới dạng JSON? Chuyển thành bảng tính bằng JSON to CSV.
Cũng được tìm dưới tên: format sql online, làm đẹp sql, sql beautifier, công cụ format sql, format sql mysql, sql formatter online, sql pretty print, căn lề sql.
Các công cụ dùng kèm tốt với Định dạng SQL
- Định dạng JSON — Dán JSON để định dạng đẹp, nén hoặc kiểm tra.
- CSV sang JSON — Dán CSV hoặc TSV để nhận mảng JSON gồm các object.
- Định dạng JavaScript — Giải nén và định dạng lại JavaScript, JSON hoặc JSX với kiểu thụt lề và dấu ngoặc bạn chọn, hoặc loại bỏ khoảng trắng và chú thích bằng bộ thu gọn đã được kiểm chứng.
- Định dạng HTML — Dán mã HTML đã nén hoặc lộn xộn và nhận lại HTML được thụt lề rõ ràng, nhất quán — bao gồm cả các khối <style> và <script> nhúng bên trong.
Câu hỏi thường gặp
Công cụ có làm thay đổi ý nghĩa truy vấn của tôi không?
Vì sao tôi gặp lỗi phân tích cú pháp?
{{ var }} cũng có thể gây nhầm lẫn.Tôi có thể định dạng nhiều câu lệnh cùng lúc không?
Dán truy vấn production có an toàn không?
WHERE của bạn luôn được giữ riêng tư.Có hỗ trợ stored procedure và DDL không?
CREATE TABLE, ALTER, INSERT, CTE (WITH) và window function được hỗ trợ đầy đủ. Các khối thủ tục (PL/pgSQL, luồng điều khiển T-SQL) được định dạng theo mức tốt nhất có thể.