Công cụ định dạng & làm đẹp SQL

Dán một truy vấn hoặc cả một file migration để nhận SQL dễ đọc: mỗi mệnh đề một dòng, các join được căn thẳng hàng và kiểu chữ từ khóa nhất quán, theo đúng cú pháp của cơ sở dữ liệu bạn dùng.

Cập nhật
 
SQL đã định dạng
 

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Chạy SQL online với cơ sở dữ liệu SQLite thật ngay trên trình duyệtSQL Playground →

Cách dùng Định dạng SQL

  1. 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).
  2. 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 hay TOP trong SQL Server.
  3. 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õ.
  4. 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:

DialectVí dụ công cụ hiểu được
MySQL / MariaDBđịnh danh `backtick`, LIMIT 10, 20, ON DUPLICATE KEY UPDATE
PostgreSQLphé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
BigQuerykiểu STRUCT/ARRAY, đường dẫn backtick project.dataset.table, QUALIFY
Oracle PL/SQLbiế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?
Không. Chỉ khoảng trắng và kiểu chữ của từ khóa (và hàm, nếu bạn chọn) được thay đổi. Tên định danh, chuỗi literal và thứ tự của mọi thứ vẫn giữ nguyên.
Vì sao tôi gặp lỗi phân tích cú pháp?
Công cụ cần hiểu SQL để trình bày nó. Lỗi thường do chọn sai dialect hoặc câu lệnh dùng cú pháp mà dialect đó không hỗ trợ — các placeholder của template như {{ 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?
Có. Ngăn các câu lệnh bằng dấu chấm phẩy; mỗi câu sẽ được định dạng và cách nhau một hoặc hai dòng trống tùy theo cài đặt “Giữa các truy vấn”.
Dán truy vấn production có an toàn không?
Có. Việc định dạng chạy trong trình duyệt bằng JavaScript và không có gì được gửi lên máy chủ của chúng tôi, nên các giá trị trong mệnh đề 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ể.
Tôi có thể cài Định dạng SQL như một ứng dụng web và dùng khi không có mạng không?
Có. Định dạng SQL là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan