Định Dạng và Nén SQL - đọc một truy vấn dài
Định dạng và nén SQL
Công cụ này làm gì
Truy vấn bạn cần hiểu hiếm khi là truy vấn bạn viết. Nó ra từ một bản ghi, một ORM, tin nhắn của đồng nghiệp: một dòng, bốn phép join, và một mệnh đề where không thấy đâu là hết. Trang này rải nó ra từng dòng để hình dạng lộ ra, rồi dồn lại một dòng khi thứ khác cần đọc nó.
Cách dùng
- 1 Dán truy vấn vào - một câu lệnh hay cả một kịch bản đều được.
- 2 Chọn mức thụt lề, rồi bấm Định dạng hoặc Nén.
- 3 Văn bản đổi ngay trong cùng một ô - sao chép, hoặc bấm Hoàn tác.
Một chú thích một dòng thành mối nguy khi không còn dòng nào
Chú thích "--" kéo dài đến hết dòng. Nén thì bỏ các dấu xuống dòng, nên một chú thích còn nguyên sẽ nuốt hết phần phía sau: truy vấn vẫn chạy, chỉ là lặng lẽ dừng giữa chừng. Vì vậy nén ở đây gỡ bỏ hoàn toàn chú thích một dòng - và vì vậy dấu "--" bên trong một chuỗi vẫn nằm y nguyên, bởi ở đó nó là dữ liệu, không phải chú thích.
Dấu nháy và dấu nháy nhân đôi
Trong SQL, một dấu nháy nằm trong chuỗi được thoát bằng cách viết hai lần: 'O''Brien'. Công cụ nào đóng chuỗi ngay ở dấu nháy thứ hai sẽ đọc phần còn lại của cái tên như mã lệnh, và từ đó mọi từ khóa nó thấy đều là tưởng tượng. Với định danh trong dấu nháy cũng vậy - `order`, "group", [limit] là tên, và một từ khóa nằm trong tên thì không phải từ khóa.
Nó không bao giờ viết lại truy vấn của bạn
Từ khóa không bị đổi sang chữ hoa, dấu ngoặc không bị rút gọn, bí danh không bị đặt lại tên. Chỉ khoảng trắng dịch chuyển. Điều đó quan trọng, vì một truy vấn đã định dạng thường quay lại một tệp mà cả nhóm sẽ soát: một bản diff đầy thay đổi hoa thường sẽ giấu đi đúng cái dòng thật sự đã đổi, và từ khóa viết thường là lối viết của nhóm, không phải lỗi.
Định dạng không phải là kiểm tra
Trang này không bao giờ kết nối tới cơ sở dữ liệu, nên nó không biết một bảng có tồn tại không, phép join của bạn có đúng không, hay truy vấn có chậm không. Nó đọc văn bản và dịch khoảng trắng. Thứ nó đưa cho bạn là hình dạng - và một truy vấn mà bạn nhìn thấy hình dạng là truy vấn bạn có thể lập luận trên đó.