Định dạng SQL
Định dạng câu SQL lộn xộn thành truy vấn gọn gàng, thụt lề rõ ràng. Hữu ích khi gỡ lỗi, review code, viết tài liệu. Hỗ trợ MySQL, PostgreSQL. Miễn phí.
Làm cho SQL dễ đọc trở lại
SQL chép từ log, ORM, công cụ BI hay tin nhắn của đồng nghiệp thường chỉ nằm trên một dòng dài: select u.id,u.name,count(o.id) from users u left join orders o on o.user_id=u.id where u.active=1 group by u.id order by 3 desc. Công cụ định dạng SQL tách nó ra nhiều dòng, đặt mỗi mệnh đề (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY) đúng chỗ và thụt lề để bạn dễ theo dõi logic.
SQL dễ đọc thì dễ gỡ lỗi, review và viết tài liệu hơn. Phát hiện một điều kiện join bị thiếu hay một WHERE đặt sai chỗ nhanh hơn nhiều khi truy vấn được trình bày gọn gàng.
Công cụ hoạt động với SQL chuẩn dùng trong MySQL, MariaDB, PostgreSQL, SQLite, SQL Server và nhiều hệ khác.
Cách dùng công cụ định dạng SQL
- Dán câu truy vấn SQL.
- Gửi để định dạng.
- Đọc hoặc chép SQL đã định dạng.
Ví dụ
Truy vấn báo cáo trên một dòng
Đầu vào:
select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id, u.name order by orders desc limit 10
Kết quả:
select
u.id,
u.name,
count(o.id) as orders
from
users u
left join orders o on o.user_id = u.id
where
u.active = 1
group by
u.id,
u.name
order by
orders desc
limit
10
Mỗi mệnh đề có một dòng riêng và mỗi cột được thụt lề. Từ khóa giữ nguyên kiểu chữ hoa/thường bạn đã gõ.
Câu lệnh UPDATE
Đầu vào: UPDATE products SET price = price * 1.1 WHERE category_id IN (3, 7);
Kết quả:
UPDATE
products
SET
price = price * 1.1
WHERE
category_id IN (3, 7);
Ứng dụng phổ biến
- Đọc truy vấn lấy từ log ứng dụng hoặc output debug của ORM.
- Chuẩn bị SQL cho review code và pull request.
- Viết tài liệu và bài hướng dẫn có ví dụ rõ ràng.
- Gỡ lỗi truy vấn dài có nhiều join và truy vấn con.
- Dọn gọn truy vấn trước khi lưu vào công cụ BI hoặc notebook.
- Đọc truy vấn chép từ log ứng dụng, nơi chúng thường nằm trên một dòng.
Mẹo và lưu ý
- Định dạng chỉ thay đổi khoảng trắng. Nó không kiểm tra SQL và không làm thay đổi kết quả.
- Xóa dữ liệu thật của khách hàng và mật khẩu khỏi truy vấn trước khi dán lên bất kỳ trang online nào.
- Thống nhất một phong cách cho cả nhóm, chẳng hạn từ khóa viết hoa và mỗi cột một dòng.
- Đổi kiểu viết tên định danh bằng công cụ đổi chữ hoa thường, và định dạng kết quả JSON bằng công cụ làm đẹp JSON.
Trường hợp đặc biệt và giới hạn
- Từ khóa không được tự viết hoa. Nếu nhóm bạn quy ước viết hoa từ khóa, hãy gõ sẵn như vậy.
- Nhiều câu lệnh ngăn cách bằng dấu chấm phẩy sẽ được định dạng lần lượt.
- Chú thích được giữ lại. Chuỗi và tên định danh trong dấu nháy không bị thay đổi.
Câu hỏi thường gặp
Định dạng có làm thay đổi kết quả truy vấn không?
Không. Chỉ khoảng trắng và xuống dòng thay đổi, nên truy vấn vẫn trả về cùng kết quả.
Công cụ hỗ trợ những phương ngữ SQL nào?
Từ khóa SQL chuẩn dùng trong MySQL, PostgreSQL, SQLite, SQL Server và các cơ sở dữ liệu tương tự đều được định dạng tốt.
Công cụ có kiểm tra lỗi SQL không?
Không. Nó chỉ định dạng văn bản; hãy chạy truy vấn trong cơ sở dữ liệu để kiểm tra lỗi.
Từ khóa SQL có nên viết hoa không?
Không bắt buộc, nhưng viết hoa từ khóa là quy ước phổ biến giúp đọc lướt truy vấn dễ hơn.
Công cụ liên quan
- Kiểm tra & định dạng JSON: Kiểm tra nội dung JSON và trình bày đẹp mắt.
- Chuyển chữ hoa chữ thường: Chuyển văn bản sang mọi kiểu chữ như chữ thường, CHỮ HOA, camelCase, v.v.
- Nén JS: Nén JS bằng cách xóa mọi ký tự không cần thiết.
- Chuyển đổi HTML entity: Mã hóa hoặc giải mã HTML entity cho bất kỳ nội dung nào.
- Tách và nối văn bản: Tách và nối văn bản qua lại bằng xuống dòng, dấu phẩy, dấu chấm, v.v.
Công cụ miễn phí phổ biến
Tạo mật khẩu mạnh, ngẫu nhiên chỉ với một cú nhấp. Chọn độ dài, thêm chữ hoa, chữ thường, số và ký tự đặc biệt. Miễn phí, không cần đăng ký.
Lọc mọi địa chỉ email từ văn bản, HTML, log hoặc tài liệu chỉ với một cú bấm, nhận danh sách gọn kèm số lượng. Công cụ trích xuất email online miễn phí.
Chuyển văn bản sang CHỮ HOA, chữ thường, viết hoa đầu câu, Viết Hoa Mỗi Từ, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case. Miễn phí.
Tra cứu bản ghi DNS của tên miền bất kỳ: A, AAAA, CNAME, MX, NS, TXT và SOA. Kiểm tra cấu hình email, SPF, xác minh và nameserver miễn phí.
Tạo link chat WhatsApp với số điện thoại và tin nhắn điền sẵn. Gắn vào website, bio, quảng cáo hoặc mã QR. Công cụ tạo link wa.me miễn phí.
Nhập địa chỉ IP để tìm tên host hoặc tên miền gắn với nó qua tra cứu reverse DNS (bản ghi PTR). Công cụ tra cứu IP ngược miễn phí, không cần đăng ký.