Cách dùng Kiểm tra cú pháp PostgreSQL
- Chọn phương ngữ cơ sở dữ liệu của bạn (MySQL, PostgreSQL, SQL Server, SQLite, BigQuery và nhiều loại khác).
- Dán hoặc mở tệp SQL của bạn — nhiều câu lệnh cách nhau bằng dấu chấm phẩy đều được.
- Lỗi sẽ hiển thị dòng, cột và các token mong đợi, đồng thời đánh dấu vị trí sai.
- Các câu lệnh hợp lệ sẽ được liệt kê kèm loại lệnh và các bảng liên quan, cùng cảnh báo cho những mẫu viết tiềm ẩn rủi ro.
Trình kiểm tra SQL kiểm tra những gì?
Trình kiểm tra SQL (hay trình kiểm tra cú pháp) phân tích truy vấn của bạn theo ngữ pháp của một cơ sở dữ liệu cụ thể và cho bạn biết truy vấn có đúng cấu trúc hay không: dấu ngoặc đơn có cân đối không, từ khóa có đúng thứ tự không, biểu thức có hợp lệ không, có thiếu dấu phẩy giữa các cột không, v.v. Công cụ này tách script của bạn thành từng câu lệnh, phân tích riêng từng câu để bạn thấy tất cả các câu lỗi cùng lúc, và chỉ ra dòng và cột nơi quá trình phân tích dừng lại. Mặc định, ngữ pháp PostgreSQL được chọn.
Cảnh báo thực hành tốt
| Cảnh báo | Vì sao quan trọng |
|---|---|
UPDATE / DELETE không có WHERE | Thay đổi mọi dòng trong bảng — thường là một sai sót. |
SELECT * | Lấy về các cột có thể bạn không cần và dễ hỏng khi thêm hoặc đổi thứ tự cột. |
INSERT không có danh sách cột | Phụ thuộc vào thứ tự cột; thêm một cột sẽ làm câu lệnh lỗi. |
LIKE '%…' | Ký tự đại diện ở đầu không thể dùng index thông thường và sẽ quét toàn bộ bảng. |
= NULL | Không bao giờ đúng; hãy dùng IS NULL. |
ORDER BY không có LIMIT trong subquery, hoặc LIMIT không có ORDER BY | Thứ tự dòng không được đảm bảo nếu không có sắp xếp tường minh. |
Khác biệt giữa các phương ngữ gây lỗi
- Dấu nháy định danh — MySQL và MariaDB dùng dấu backtick (
`order`), PostgreSQL, SQLite và chuẩn SQL dùng dấu ngoặc kép, SQL Server dùng dấu ngoặc vuông ([order]). - Giới hạn số dòng —
LIMIT 10trong MySQL, PostgreSQL và SQLite;TOP 10hoặcOFFSET … FETCHtrong SQL Server. - Upsert —
ON DUPLICATE KEY UPDATE(MySQL) so vớiON CONFLICT … DO UPDATE(PostgreSQL, SQLite) so vớiMERGE(SQL Server, Snowflake, BigQuery). - Ép kiểu — PostgreSQL chấp nhận
value::int; hầu hết các hệ khác cầnCAST(value AS INT).
Các lỗi cú pháp PostgreSQL thường gặp
PostgreSQL báo lỗi “syntax error at or near …” kèm token nơi quá trình phân tích dừng lại. Các nguyên nhân phổ biến: dấu backtick chép từ MySQL (hãy dùng dấu ngoặc kép), dấu ngoặc kép quanh giá trị chuỗi (hãy dùng dấu nháy đơn — dấu ngoặc kép dùng cho định danh), LIMIT x, y (Postgres cần LIMIT y OFFSET x) và thiếu dấu phẩy trong danh sách cột.
Làm cho truy vấn dễ đọc hơn với SQL formatter, tạo câu lệnh từ dữ liệu bằng CSV to SQL hoặc JSON to SQL, và thiết kế bảng với CREATE TABLE generator.
Cũng được tìm dưới tên: postgres query validator, kiểm tra cú pháp postgres, lỗi cú pháp psql, postgres linter, kiểm tra sql postgres online.
Các công cụ dùng kèm tốt với Kiểm tra cú pháp PostgreSQL
- Kiểm tra cú pháp SQL — Dán một câu truy vấn hoặc cả một script để kiểm tra cú pháp theo ngữ pháp của cơ sở dữ liệu bạn đang dùng.
- Kiểm tra cú pháp MySQL — Xác thực truy vấn MySQL trước khi bạn chạy chúng.
- Excel sang JSON — Mở file .xlsx hoặc dán trực tiếp các ô từ Excel hay Google Sheets để nhận JSON sạch.
- JSON sang Excel — Biến mảng JSON thành một workbook Excel thực sự.
Câu hỏi thường gặp
SQL của tôi có được gửi lên máy chủ hay cơ sở dữ liệu không?
Kết quả hợp lệ có nghĩa là truy vấn sẽ chạy được không?
Tại sao lỗi lại chỉ vào chỗ sau lỗi của tôi?
WHER thường bị đọc thành alias, nên lỗi xuất hiện ở từ tiếp theo. Hãy kiểm tra cả token ngay trước vị trí được đánh dấu.