onlinetools.dev

Định dạng SQL

Định dạng SQL với từ khóa theo từng phương ngữ, hoặc nén về một dòng

Chạy cục bộ
loading…
Về công cụ này

Dán vào một câu truy vấn vừa moi ra từ tệp log, từ bản dump gỡ lỗi của ORM hay từ dòng lệnh một hàng của đồng nghiệp, và công cụ này sẽ tách nó thành các mệnh đề dễ đọc với thụt lề nhất quán. Sáu phương ngữ được hỗ trợ — SQL chuẩn, PostgreSQL, MySQL, SQLite, SQL Server và BigQuery — nên những cú pháp riêng của từng phương ngữ như TOP, định danh trong dấu huyền hay kiểu mảng đều được định dạng đúng thay vì làm bộ phân tích vấp ngã.

Cách viết hoa từ khóa có thể chỉnh: VIẾT HOA cho vẻ ngoài kinh điển, viết thường nếu nhóm bạn thích thế, hoặc giữ nguyên bản gốc. Chế độ nén làm điều ngược lại — dồn một truy vấn đã định dạng về một dòng, bỏ chú thích nhưng giữ nguyên từng byte của các chuỗi hằng, đúng thứ bạn cần trước khi dán SQL vào một tệp cấu hình JSON hay một tham số dòng lệnh.

Truy vấn thường chứa tên bảng, dữ liệu khách hàng nằm trong chuỗi hằng, hoặc manh mối về hạ tầng. Việc định dạng chạy hoàn toàn trong trình duyệt của bạn, nên chẳng thứ nào trong số đó tới được máy chủ.

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

Tôi nên chọn phương ngữ SQL nào?
Phương ngữ mà cơ sở dữ liệu của bạn nói — nó quyết định cách phân tích định danh, cách đặt dấu nháy cho chuỗi và các từ khóa riêng. Nếu bạn chỉ cần dọn dẹp chung chung, SQL chuẩn xử lý được phần lõi phổ biến. Gặp lỗi phân tích trên cú pháp vốn hợp lệ với cơ sở dữ liệu của bạn thường là dấu hiệu nên đổi phương ngữ.
Định dạng có làm đổi ý nghĩa truy vấn không?
Không. Định dạng chỉ di chuyển khoảng trắng và, nếu bạn bật, đổi cách viết hoa từ khóa — còn định danh và chuỗi hằng vẫn giữ nguyên từng byte. Từ khóa SQL không phân biệt hoa thường trong mọi phương ngữ được hỗ trợ, nên SELECT và select là cùng một câu lệnh.
Tôi có định dạng nhiều câu lệnh cùng lúc được không?
Được — dán cả một script vào, mỗi câu lệnh kết thúc bằng dấu chấm phẩy sẽ được định dạng lần lượt, giữa các câu có một dòng trống.
Chế độ nén bỏ đi chính xác những gì?
Chú thích một dòng (--) và chú thích khối (/* */) bị loại, các chuỗi khoảng trắng gom lại thành một dấu cách, còn khoảng trắng quanh dấu phẩy và dấu ngoặc bị bỏ. Phần văn bản nằm trong nháy đơn, nháy kép và dấu huyền thì không bao giờ bị đụng tới, kể cả các dấu nháy nhân đôi để thoát ký tự.
Công cụ liên quan