🌐 VI

🗄️ Bộ định dạng SQL

Định dạng SQL thông thường bằng cách xuống dòng theo mệnh đề và thụt lề. Bạn có thể rút gọn SQL được hỗ trợ thành một dòng; thao tác này sẽ xóa chú thích. Viết hoa từ khóa là tùy chọn.

Ví dụ

Công cụ này định dạng SQL nhưng không xác thực, không xác nhận khả năng tương thích với từng cơ sở dữ liệu và không kiểm tra ý nghĩa truy vấn.

SQL chỉ được xử lý trên thiết bị này.

HƯỚNG DẪN

Tìm hiểu thêm

01

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

SQL một dòng hoặc SQL sinh từ ORM sẽ rất khó đọc khi các câu JOIN ngày càng nhiều. Tách theo từng mệnh đề (SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY, v.v.) với thụt lề nhất quán sẽ giúp thấy ngay bảng nào nối với điều kiện nào và bộ lọc WHERE là gì, từ đó rút ngắn thời gian review code và gỡ lỗi.

02

2. Công cụ này định dạng như thế nào

Trình định dạng sẽ bắt đầu dòng mới trước các mệnh đề như SELECT, FROM, WHERE và JOIN, đồng thời thụt AND và OR vào một mức để tách các điều kiện. Các danh sách phân tách bằng dấu phẩy được đặt trên từng dòng riêng, còn nội dung trong ngoặc được thụt thêm một mức. Đây là trình định dạng dựa trên token, không phải trình kiểm tra SQL hay trình phân tích cú pháp cho mọi phương ngữ. Những cú pháp không thể được giữ nguyên an toàn, chẳng hạn như tham số có tên hoặc literal dành riêng cho nhà cung cấp, sẽ tạo ra lỗi. Khi đó, đừng sửa truy vấn mà hãy dùng truy vấn gốc trong một công cụ SQL hỗ trợ cú pháp đó.

03

3. Rút gọn và khi nào nên dùng

Rút gọn sẽ xóa chú thích và gom các khoảng trắng/ngắt dòng không cần thiết thành một dòng. Hữu ích khi ghi log truy vấn, giảm dung lượng script stored procedure/migration, hoặc dán một dòng lệnh sang công cụ khác. Nội dung trong chuỗi ký tự (giá trị đặt trong dấu nháy) được giữ nguyên chính xác, nên dữ liệu của bạn không bao giờ bị thay đổi.

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

Có hỗ trợ mọi dialect SQL (MySQL, PostgreSQL, Oracle, v.v.) không?
Không. Đây không phải là trình kiểm tra SQL hay trình phân tích cú pháp theo từng phương ngữ. Công cụ định dạng các token SQL thông dụng và dạng JOIN phổ biến, nhưng sẽ báo lỗi khi không thể giữ nguyên cú pháp một cách an toàn, bao gồm tham số có tên và literal dành riêng cho nhà cung cấp. Trong trường hợp đó, đừng sửa truy vấn; hãy dùng truy vấn gốc với cơ sở dữ liệu hoặc công cụ SQL hỗ trợ cú pháp này.
Các từ khóa SQL bên trong chuỗi có được viết hoa không?
Không. Các chuỗi ký tự đặt trong dấu nháy ('...', "...", `...`) được nhận diện riêng khi tách token và bị loại khỏi logic đổi hoa/thường hoặc ngắt dòng.
Truy vấn của tôi có được gửi lên máy chủ không?
Không. Cả định dạng và rút gọn đều diễn ra hoàn toàn trong trình duyệt của bạn và không bao giờ được gửi lên máy chủ.
Tôi có thể thay đổi độ rộng thụt lề không?
Có - hãy chọn 2 hoặc 4 khoảng trắng từ menu thả xuống thụt lề.