Định dạng & Kiểm tra SQL
Làm đẹp hoặc nén SQL, và kiểm tra lỗi cú pháp với đúng dòng, đúng cột — cho 20 dialect, chạy hoàn toàn trong trình duyệt.
Mọi thao tác chạy ngay trong trình duyệt — SQL của bạn không bao giờ được tải lên máy chủ nào.
Tuỳ chọn
Kéo thả file .sql hoặc .txt vào đây, dán nội dung, hoặc nạp mẫu. Nhấn Ctrl+Enter để chạy.
Kiểm tra cú pháp
“Hợp lệ” nghĩa là cú pháp đúng theo ngữ pháp này. Công cụ không có schema cơ sở dữ liệu nên không biết bảng hay cột có tồn tại không, cũng như câu truy vấn có chạy được không. Cú pháp riêng của từng hệ quản trị hoặc cú pháp quá mới có thể bị từ chối dù cơ sở dữ liệu của bạn chấp nhận.
Định dạng, nén và kiểm tra SQL ngay trong trình duyệt
SQL dễ đọc thì dễ review, dễ gỡ lỗi và dễ so sánh thay đổi. Công cụ này viết lại câu truy vấn với thụt lề, xuống dòng và kiểu chữ của từ khoá nhất quán, đồng thời hiểu đặc điểm của khoảng hai mươi dialect, gồm MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, BigQuery, Snowflake, Redshift, Oracle PL/SQL, Hive, Spark, Trino và DB2. Bạn chọn dialect, chọn thụt lề 2 hoặc 4 dấu cách hay tab, quyết định từ khoá, kiểu dữ liệu và tên hàm viết hoa, viết thường hay giữ nguyên, và đưa dấu phẩy lên đầu mỗi dòng nếu đó là quy ước của nhóm bạn.
Kiểm tra cú pháp là nửa còn lại. Khi dán một script, từng câu lệnh được kiểm tra riêng nên bạn thấy ngay câu nào đúng, câu nào sai. Với câu sai, công cụ chỉ ra dòng và cột, token gây lỗi, vài dòng mã xung quanh và, khi có thể, một gợi ý như gõ nhầm từ khoá, thừa dấu phẩy cuối hoặc thiếu dấu ngoặc đóng. Việc tách câu lệnh nhận biết chuỗi, comment, dấu backtick, ngoặc vuông và thân hàm dollar-quote của PostgreSQL, nên dấu chấm phẩy nằm trong chuỗi không bao giờ cắt đôi một câu lệnh.
Nén làm điều ngược lại với định dạng: gom khoảng trắng và, nếu muốn, bỏ comment để có câu truy vấn gọn trên một dòng, tiện cho log, file cấu hình hoặc nhúng vào mã nguồn. Công cụ xử lý theo token chứ không dùng biểu thức chính quy, nên nội dung trong chuỗi và tên đặt trong dấu quote được giữ nguyên như bạn viết.
Hãy lưu ý các giới hạn. Kết quả xanh chỉ chứng minh cú pháp khớp với ngữ pháp đã chọn, không chứng minh bảng có tồn tại, hay truy vấn nhanh và đúng nghiệp vụ. Một số dialect, khối thủ tục và tính năng mới nhất chỉ được hỗ trợ một phần, và vài dialect chưa có bộ kiểm tra riêng, khi đó bạn tự chọn ngữ pháp gần nhất. Mọi thứ diễn ra cục bộ nên bạn có thể yên tâm dán truy vấn từ môi trường thật; file lớn chỉ khiến bản xem trước trực tiếp tạm dừng cho tới khi bạn bấm nút.
Câu hỏi thường gặp
“Hợp lệ” có nghĩa là câu truy vấn của tôi sẽ chạy được không?
Không. Công cụ chỉ kiểm tra cú pháp. Nó không kết nối tới cơ sở dữ liệu của bạn nên không biết bảng hay cột có tồn tại không, kiểu dữ liệu có tương thích không, hay bạn có đủ quyền hay không. Nó cũng dùng ngữ pháp riêng, nên cú pháp rất mới hoặc đặc thù của từng hãng có thể bị từ chối dù cơ sở dữ liệu thật chấp nhận. Hãy hiểu kết quả xanh là “SQL viết đúng cấu trúc”, còn kết quả đỏ là “hãy xem lại chỗ này”.
SQL của tôi có bị tải lên đâu không?
Không. Định dạng, nén và kiểm tra cú pháp đều chạy trong trình duyệt của bạn, ở một tiến trình nền. Không có gì được gửi tới máy chủ. Bản nháp (tuỳ chọn) và cài đặt chỉ được lưu trong bộ nhớ cục bộ của trình duyệt này.
Vì sao bộ định dạng chạy được mà bộ kiểm tra vẫn báo lỗi?
Hai thành phần này khác nhau. Bộ định dạng chỉ cần nhận ra các token và mệnh đề nên khá dễ tính. Bộ kiểm tra dùng ngữ pháp đầy đủ của dialect đã chọn nên nghiêm ngặt hơn. Khi hai bên không đồng ý, bạn sẽ thấy cảnh báo: kết quả vẫn được hiển thị, nhưng dòng bị đánh dấu đáng để xem lại.
Nén (minify) có làm thay đổi ý nghĩa câu truy vấn không?
Chỉ khoảng trắng và comment bị loại bỏ. Chuỗi, tên đặt trong dấu quote, khối dollar-quote và optimizer hint được giữ nguyên từng ký tự, và các token vốn liền nhau vẫn liền nhau. Để an toàn, đừng nén các script phụ thuộc vào dấu xuống dòng, ví dụ khối DELIMITER của MySQL.