DevToolPal
VI

Định dạng SQL

Làm đẹp câu truy vấn SQL cho MySQL, PostgreSQL, SQL Server, Oracle, SQLite, BigQuery và nhiều hệ khác.

Chạy cục bộ, không bao giờ tải lên

Tùy chọn

Đầu vào

0 ký tự · 0 B

Đầu ra

0 ký tự · 0 B

Công cụ này làm gì

Công cụ định dạng SQL biến một truy vấn dài nằm trên một dòng thành truy vấn dễ đọc, thụt lề nhất quán. Mỗi mệnh đề (SELECT, FROM, WHERE, GROUP BY, ORDER BY) bắt đầu trên dòng riêng, các cột được chọn và điều kiện được liệt kê mỗi thứ một dòng, các phép join xếp thẳng hàng dưới bảng mà chúng nối, và truy vấn con được thụt lề bên trong cặp ngoặc.

SQL đã định dạng dễ review hơn trong pull request, dễ gỡ lỗi hơn khi truy vấn trả về sai hàng, và dễ dán vào tài liệu hơn. Nó cũng hữu ích khi bạn sao chép truy vấn từ log của ORM hay thông báo lỗi của ứng dụng, nơi mọi thứ nằm trên một dòng.

Cách sử dụng

  1. Dán một hoặc nhiều câu lệnh SQL vào ô Đầu vào, thả tệp .sql vào đó, hoặc nhấn Ví dụ.
  2. Chọn Phương ngữ của cơ sở dữ liệu.
  3. Chọn Từ khóa viết CHỮ HOA, chữ thường, hoặc giữ như đã gõ. Tên hàm như COUNT cũng theo cài đặt này.
  4. Chọn 2 dấu cách, 4 dấu cách hoặc tab cho Thụt lề.
  5. Sao chép kết quả hoặc tải về dưới dạng tệp .sql. Phím tắt: Ctrl/Cmd+Enter để định dạng, Ctrl/Cmd+Shift+C để sao chép.

Nhiều câu lệnh phân tách bằng dấu chấm phẩy sẽ được tách nhau bằng một dòng trống. Chú thích được giữ nguyên vị trí.

Ví dụ

select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id 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
GROUP BY
  u.id

Mẹo

Từ khóa viết hoa giúp các mệnh đề nổi bật so với tên bảng và tên cột, đây là quy ước phổ biến nhất trong các nhóm. Nếu nhóm của bạn viết SQL bằng chữ thường, hãy chọn chữ thường và cả truy vấn sẽ đồng bộ. Nếu công cụ báo token không mong đợi, hãy kiểm tra xem phương ngữ đã đúng chưa: ví dụ, tên đặt trong dấu backtick hợp lệ trong MySQL nhưng không hợp lệ trong SQL chuẩn.

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. Công cụ định dạng chạy trong trình duyệt của bạn, nên những truy vấn để lộ tên bảng, dữ liệu khách hàng hay logic nghiệp vụ vẫn ở lại trên thiết bị.

› Hỗ trợ những phương ngữ SQL nào?

SQL chuẩn, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift và Spark SQL. Chọn đúng phương ngữ giúp xử lý cú pháp riêng của từng hệ như định danh trong dấu backtick, ép kiểu bằng :: hay tên trong ngoặc vuông.

› Đị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 và, nếu bạn chọn, kiểu chữ hoa/thường của từ khóa và tên hàm thay đổi. Định danh, chuỗi literal và chú thích được giữ nguyên như đã viết.

› Tại sao tôi gặp lỗi "Unexpected end of input"?

Thường là một dấu ngoặc hoặc dấu nháy chưa được đóng. Lỗi chỉ vào cuối truy vấn; hãy tìm dấu ( hoặc ' mở cuối cùng chưa có cặp.