Trình định dạng SQL
Định dạng SQL dễ đọc trong khi giữ keyword, biểu thức, join, chuỗi, chú thích và cấu trúc truy vấn.
Make SQL queries easier to review
Truy vấn SQL dài trên một dòng làm khó kiểm tra join, bộ lọc, cột và biểu thức lồng nhau. Công cụ sắp xếp thành bố cục dễ đọc.
Định dạng không chứng minh an toàn, hiệu năng, quyền hay phù hợp phiên bản database. Giữ truy vấn nguồn và diff.
Dùng truy vấn có alias, join, predicate, aggregate hoặc comment khi cần; không chạy statement chưa review trong production.
Formatting is not SQL validation
SQL biểu diễn statement, identifier, literal, operator, clause, join, subquery và comment; định dạng làm quan hệ rõ hơn.
Formatter sắp xếp whitespace nhưng không kiểm tra quyền, bảng, schema, transaction, query plan hay ý nghĩa nghiệp vụ.
Dialect SQL khác nhau; hãy thử keyword, quote, hàm và extension bằng công cụ database đích.
How to format SQL
- Dán truy vấn đầy đủ hoặc statement được hỗ trợ.
- Kiểm tra SELECT list, alias, join, điều kiện, grouping, ordering, subquery và comment.
- So sánh chuỗi, identifier, placeholder, operator và thứ tự clause với nguồn.
- Trước khi chạy, dùng parser, linter, explain plan, xem quyền và test dự án.
- Xóa credential, dữ liệu cá nhân và chi tiết schema riêng khỏi mẫu.
Formatting method
- Đọc token, keyword,
Đọc token, keyword, clause, expression, literal, comment và vùng lồng nhau từ SQL.
- Thêm xuống dòng
Thêm xuống dòng và thụt lề để SELECT, JOIN, predicate và subquery dễ quét.
- Giữ chuỗi, identifier,
Giữ chuỗi, identifier, placeholder, operator, comment và thứ tự theo nguồn.
Hỗ trợ dialect, khôi phục parser, comment, quote identifier và câu lỗi chính xác cần kiểm tra bằng engine thật.
Read the formatted result
Kết quả thành công là SQL được sắp xếp dễ đọc. Xác nhận cột, literal, alias, join, điều kiện, comment và thứ tự clause giống nguồn.
Lỗi không tự chứng minh hỗ trợ dialect hay recovery cụ thể.
Lỗi chạy hoặc truy vấn chậm cần điều tra syntax, quyền, schema, plan, index và dữ liệu riêng.
Lỗi thường gặp
Coi thụt lề là review an toàn hoặc hiệu năng có thể che bộ lọc rộng hay join sai.
Đổi literal, identifier, placeholder hoặc comment có thể đổi hành vi ứng dụng.
Đừng giả định mọi database dùng cùng dialect.
Không dán SQL production hoặc credential vào mẫu.
Giới hạn và trường hợp đặc biệt
Đây là định dạng trình bày SQL, không đảm bảo syntax, quyền, schema, hiệu năng, transaction hay kết quả chạy.
Dialect vendor, procedural SQL, quoted identifier, comment và truy vấn lớn cần thử bằng công cụ đích.
Không nhập SQL bí mật nếu chính sách không cho phép.
Examples
Định dạng có kiểm tra SQL không?
Định dạng có kiểm tra SQL không?
Dán truy vấn đầy đủ hoặc statement được hỗ trợ.
Kết quả thành công là SQL được sắp xếp dễ đọc. Xác nhận cột, literal, alias, join, điều kiện, comment và thứ tự clause giống nguồn.
Kết quả truy vấn có đổi không?
Kết quả truy vấn có đổi không?
Kiểm tra SELECT list, alias, join, điều kiện, grouping, ordering, subquery và comment.
Lỗi không tự chứng minh hỗ trợ dialect hay recovery cụ thể.
Literal chuỗi có được giữ không?
Literal chuỗi có được giữ không?
So sánh chuỗi, identifier, placeholder, operator và thứ tự clause với nguồn.
Lỗi chạy hoặc truy vấn chậm cần điều tra syntax, quyền, schema, plan, index và dữ liệu riêng.
Có hỗ trợ mọi SQL dialect không?
Có hỗ trợ mọi SQL dialect không?
Trước khi chạy, dùng parser, linter, explain plan, xem quyền và test dự án.
Kết quả thành công là SQL được sắp xếp dễ đọc. Xác nhận cột, literal, alias, join, điều kiện, comment và thứ tự clause giống nguồn.
Có tăng hiệu năng không?
Có tăng hiệu năng không?
Xóa credential, dữ liệu cá nhân và chi tiết schema riêng khỏi mẫu.
Lỗi không tự chứng minh hỗ trợ dialect hay recovery cụ thể.
Chú thích có được giữ không?
Chú thích có được giữ không?
Dán truy vấn đầy đủ hoặc statement được hỗ trợ.
Lỗi chạy hoặc truy vấn chậm cần điều tra syntax, quyền, schema, plan, index và dữ liệu riêng.
Frequently asked questions
Định dạng có kiểm tra SQL không?
Không. Dùng parser, linter, client database và test cho dialect đích.
Kết quả truy vấn có đổi không?
Với input hỗ trợ chỉ bố cục đổi, nhưng hãy so sánh và chạy test.
Literal chuỗi có được giữ không?
Ví dụ giữ nội dung literal; xem diff khi khoảng trắng hoặc escape quan trọng.
Có hỗ trợ mọi SQL dialect không?
Không nên giả định; xác nhận cú pháp vendor với công cụ đích.
Có tăng hiệu năng không?
Không. Dùng explain plan, index, thống kê và kỹ thuật tuning.
Chú thích có được giữ không?
Ví dụ giữ comment trong view; hãy kiểm tra input thật.
SQL nguy hiểm có thành an toàn không?
Không. Nó không parameterize, đổi quyền hay xóa statement nguy hiểm.
Sau khi định dạng cần làm gì?
Xem diff, chạy kiểm tra dialect và test, review quyền rồi chạy qua workflow kiểm soát.
