SQL Formatter: Định dạng SQL

Dán một truy vấn lộn xộn và nhận SQL gọn gàng, thụt lề nhất quán. Hỗ trợ 17 phương ngữ, đổi kiểu chữ từ khóa và thu gọn bằng một cú nhấp, tất cả trên trình duyệt.

Chạy trên trình duyệtKhông cần đăng kýKhông tải lên gì

SQL đã định dạng

Cách dùng SQL Formatter

  1. Dán một hoặc nhiều câu lệnh SQL vào ô nhập liệu, hoặc mở tệp .sql.
  2. Chọn phương ngữ cơ sở dữ liệu để cú pháp riêng của nó, như ép kiểu ::, [ngoặc vuông], backtick hay chuỗi $$, được phân tích đúng.
  3. Đặt kiểu chữ từ khóa (HOA, thường hoặc giữ nguyên), thụt lề và số dòng trống giữa các câu lệnh.
  4. Chuyển sang Thu gọn để xóa chú thích và khoảng trắng cho log, ORM hoặc tham số URL.
  5. Sao chép kết quả hoặc tải xuống dưới dạng tệp .sql.

Vì sao cần định dạng SQL?

Truy vấn sao chép từ log ORM, query plan hoặc mã ứng dụng thường chỉ là một dòng dài. Đặt mỗi mệnh đề (SELECT, FROM, JOIN, WHERE, GROUP BY) trên một dòng riêng và thụt lề các cột và điều kiện giúp logic dễ đọc. Nó cũng làm diff khi review code nhỏ hơn và giúp bạn phát hiện điều kiện join bị thiếu hoặc OR đặt sai chỗ.

Quy ước trình bày SQL

  • Từ khóa viết hoa (SELECT, WHERE) tách cú pháp SQL khỏi tên bảng và tên cột. Hầu hết hướng dẫn trình bày khuyên dùng cách này, dù chữ thường phổ biến trong dbt và các nhóm phân tích dữ liệu.
  • Mỗi cột một dòng giúp thêm hoặc bớt cột chỉ tạo diff một dòng.
  • Thụt lề nhất quán (2 hoặc 4 dấu cách) bên trong mệnh đề và truy vấn con cho thấy cấu trúc lồng nhau chỉ trong nháy mắt.
  • Dấu kết thúc câu lệnh: kết thúc mọi câu lệnh bằng ; để script nhiều câu lệnh không bị mơ hồ.

Các phương ngữ SQL được hỗ trợ

Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore và TiDB. Nếu truy vấn không phân tích được, hãy thử phương ngữ cụ thể hơn: @variables, tham số $1 và toán tử riêng của từng hãng chỉ được nhận diện trong phương ngữ của chúng.

Chế độ thu gọn làm gì

Chế độ thu gọn xóa chú thích --, # và /* */, gộp khoảng trắng và xuống dòng thành một dấu cách, và bỏ dấu cách quanh dấu phẩy và dấu ngoặc. Chuỗi ký tự và định danh có nháy ('…', "…", `…`, […], $$…$$) được sao chép nguyên từng byte, nên ý nghĩa của truy vấn không bao giờ thay đổi.

Câu hỏi thường gặp

SQL của tôi có bị gửi lên máy chủ không?
Không. Việc định dạng dùng thư viện mã nguồn mở sql-formatter chạy trong trình duyệt của bạn. Truy vấn chứa tên bảng, dữ liệu khách hàng hay thông tin đăng nhập đều ở lại trên máy của bạn.
Định dạng có làm thay đổi chức năng của truy vấn không?
Không. Chỉ khoảng trắng, xuống dòng và (nếu bạn chọn) kiểu chữ từ khóa thay đổi. Định danh, chuỗi ký tự và chú thích được giữ nguyên như đã viết.
Vì sao tôi gặp lỗi phân tích với SQL hợp lệ?
Truy vấn có lẽ dùng cú pháp riêng của một cơ sở dữ liệu khác. Hãy chọn phương ngữ phù hợp, ví dụ PostgreSQL cho ép kiểu ::type hoặc SQL Server cho tên [bracketed] và @params.
Tôi có thể định dạng nhiều câu lệnh cùng lúc không?
Có. Phân tách các câu lệnh bằng dấu chấm phẩy. Bạn có thể chọn số dòng trống giữa chúng trong kết quả.
Đổi kiểu chữ từ khóa có làm thay đổi tên cột không?
Không. Chỉ từ khóa dành riêng, kiểu dữ liệu và hàm có sẵn được đổi kiểu chữ. Tên bảng và tên cột giữ nguyên cách viết gốc.

Công cụ liên quan