Chuyển đến nội dung

Định dạng câu truy vấn SQL

Làm đẹp hoặc rút gọn SQL cho MySQL, PostgreSQL, SQL Server, SQLite, BigQuery, Oracle và 14 phương ngữ khác, tùy chọn kiểu trình bày, ngay trên trình duyệt.

Đã định dạng
Nhấn Định dạng SQL để làm đẹp truy vấn.
Chạy ngay trên trình duyệt · không cần tải lênCách hoạt động

Cách sử dụng Định dạng SQL

  1. 1

    Dán SQL

    Dán một truy vấn hoặc cả tập lệnh, hoặc mở tệp .sql; nút Mẫu cho bạn một truy vấn lộn xộn để thử.

  2. 2

    Chọn phương ngữ

    Chọn cơ sở dữ liệu của bạn để dấu trích dẫn, toán tử và từ khóa được nhận diện đúng.

  3. 3

    Đặt kiểu định dạng

    Chọn kiểu chữ của từ khóa, thụt lề, vị trí dấu phẩy và bố cục cho khớp quy ước của nhóm.

  4. 4

    Định dạng và sao chép

    Nhấn Định dạng SQL hoặc Rút gọn, rồi sao chép kết quả đã tô màu hoặc tải xuống dạng .sql.

Giới hạn và Pro

Miễn phí, không cần đăng ký: 20 phương ngữ, tệp .sql tối đa 10 MB, tập lệnh định dạng trong 20 giây; kết quả trên 600.000 ký tự chỉ xem trước một phần, còn sao chép hoặc tải xuống vẫn đầy đủ.

Pro gỡ quảng cáo; trình định dạng vẫn giống nhau ở mọi gói. Xem Pro

Về Định dạng SQL

Dán một câu truy vấn nằm gọn trên một dòng từ log, từ đầu ra debug của ORM hay từ tin nhắn của đồng nghiệp, trình định dạng sẽ trình bày lại như một người cẩn thận: mỗi mệnh đề một dòng, cột được chọn và phần join thụt lề dưới từ khóa của chúng, truy vấn con lồng nhau để nhìn là thấy cấu trúc. Công cụ hiểu 20 phương ngữ SQL gồm SQL chuẩn, MySQL, MariaDB, PostgreSQL, SQL Server T-SQL, SQLite, Oracle PL/SQL, BigQuery, Snowflake, Redshift, Spark, Trino, DuckDB, ClickHouse, Hive, Db2, Db2 for i, SingleStore, TiDB và Couchbase N1QL, nên các cú pháp riêng như định danh trong dấu backtick, dấu ngoặc vuông, ép kiểu :: hay chuỗi dollar-quoted đều được giữ nguyên.

Bạn tự chọn phong cách: từ khóa viết hoa, viết thường hoặc giữ nguyên; tên hàm và kiểu dữ liệu cũng vậy; thụt lề hai dấu cách, bốn dấu cách hoặc tab; dấu phẩy ở cuối hoặc đầu dòng; AND và OR đặt trước hoặc sau chỗ ngắt dòng; bố cục chuẩn hoặc dạng bảng canh từ khóa thành một cột. Tập lệnh có nhiều câu lệnh được ngăn cách bằng một dòng trống. Rút gọn làm điều ngược lại: xóa chú thích và khoảng trắng thừa, nhưng giữ nguyên chuỗi, tên trong dấu trích dẫn và gợi ý cho trình tối ưu.

Kết quả được tô màu cú pháp, có thể sao chép hoặc tải xuống thành tệp .sql. Việc định dạng dùng thư viện mã nguồn mở sql-formatter, được tải ở lần đầu bạn nhấn Định dạng SQL, và chạy trong worker nền nên tập lệnh dài không làm đơ trang.

Công cụ chỉ thay đổi khoảng trắng và kiểu chữ. Công cụ không kiểm tra tên bảng hay cột, không chạy truy vấn, cũng không viết lại để tăng hiệu năng; stored procedure có cú pháp riêng của nhà cung cấp có thể cần chọn phương ngữ gần nhất.

Quyền riêng tư

SQL được định dạng ngay trong trình duyệt bằng Web Worker, nên truy vấn chứa tên bảng, dữ liệu khách hàng hay thông tin đăng nhập không bao giờ được gửi lên máy chủ. Lựa chọn phương ngữ và kiểu định dạng được lưu trong bộ nhớ cục bộ; bản thân SQL thì không được lưu.

Tính năng

20 phương ngữ SQL

MySQL, PostgreSQL, SQL Server, Oracle, BigQuery, Snowflake và 14 phương ngữ khác.

Đúng phong cách của bạn

Kiểu chữ từ khóa, thụt lề, dấu phẩy đầu hoặc cuối dòng, vị trí AND/OR và bố cục dạng bảng.

Có cả rút gọn

Xóa chú thích và khoảng trắng để nhúng SQL vào mã, vẫn giữ nguyên chuỗi và gợi ý.

Định dạng SQL: câu hỏi thường gặp

Định dạng có làm thay đổi hoạt động của truy vấn không?
Không. Chỉ khoảng trắng, ngắt dòng và kiểu chữ của từ khóa, hàm, kiểu dữ liệu thay đổi; định danh, chuỗi và chú thích được giữ nguyên. Đổi kiểu chữ từ khóa là an toàn vì từ khóa SQL không phân biệt hoa thường. Nếu dùng công cụ khác để đổi hoa thường cho định danh, hãy lưu ý PostgreSQL phân biệt hoa thường với tên trong dấu trích dẫn, vì vậy công cụ này không đụng tới chúng.
Vì sao tôi gặp lỗi phân tích cú pháp?
Trình định dạng cần nhận ra cấu trúc câu lệnh, nên ngoặc không cân, thiếu từ khóa hoặc cú pháp của cơ sở dữ liệu khác sẽ làm nó dừng lại. Thông báo lỗi cho biết dòng, cột và điều công cụ mong đợi. Hãy chọn đúng phương ngữ: định danh trong ngoặc vuông cần SQL Server, backtick cần MySQL, MariaDB hoặc BigQuery. Đồng thời kiểm tra xem cuối tập lệnh có câu lệnh dang dở không.
Nên đặt dấu phẩy ở đầu hay cuối dòng?
Dấu phẩy ở cuối dòng là kiểu phổ biến nhất và là kết quả của hầu hết công cụ. Dấu phẩy ở đầu dòng giúp dễ comment cột cuối và khi thêm cột thì diff chỉ thay đổi một dòng, nên một số nhóm dữ liệu ưa dùng. Cứ chọn theo quy ước của nhóm bạn; tùy chọn này chỉ áp dụng cho bố cục Chuẩn.
Có định dạng được stored procedure và tập lệnh nhiều câu lệnh không?
Có. Dán cả tập lệnh, mỗi câu lệnh sẽ được định dạng và ngăn cách bằng một dòng trống, gồm CREATE TABLE, INSERT, UPDATE, MERGE và các khối thủ tục thông dụng. Mã thủ tục riêng của từng hãng, như lô T-SQL phức tạp có dấu phân cách GO hay gói PL/SQL, có thể không được hiểu hết; hãy chọn đúng phương ngữ và định dạng từng khối nhỏ nếu một đoạn bị lỗi.
Rút gọn sẽ xóa những gì?
Rút gọn xóa chú thích -- và /* */ (cùng chú thích # trong MySQL và MariaDB), gộp nhiều dấu cách và ngắt dòng thành một dấu cách, đồng thời bỏ khoảng trắng cạnh dấu phẩy và dấu ngoặc. Chuỗi, định danh trong dấu trích dẫn và gợi ý tối ưu dạng /*+ … */ hoặc /*! … */ của MySQL được giữ nguyên, nên truy vấn rút gọn chạy y hệt bản gốc.