วิธีจัดรูปแบบคำสั่ง SQL
SQL ที่ยุ่งเป็นวิธีที่เร็วที่สุดวิธีหนึ่งในการสร้างบั๊ก เมื่อคำสั่งอยู่ในบรรทัดยาวบรรทัดเดียวโดยไม่มีการเยื้อง เป็นการยากที่จะเห็นว่าเงื่อนไขใดใช้กับการ JOIN ใด ที่ใดที่คำสั่งย่อยเริ่มต้นและสิ้นสุด หรือว่าตรรกะถูกต้องหรือไม่
ทำไมการจัดรูปแบบจึงสำคัญ
- การดีบัก — คำสั่งที่จัดรูปแบบดีทำให้ข้อผิดพลาดของตรรกะมองเห็นได้ คุณสามารถติดตามการไหลจาก SELECT ไปยัง WHERE ไปยัง JOIN โดยไม่ต้องเดา
- การตรวจสอบโค้ด — ผู้ตรวจสอบอ่าน SQL ที่จัดรูปแบบในไม่กี่วินาที คำสั่งบนบรรทัดเดียวบังคับให้พวกเขาวิเคราะห์มันในใจก่อน
- การบำรุงรักษา — เมื่อคุณกลับมาดูคำสั่งหลังจากผ่านไปหลายเดือน การจัดรูปแบบจะบอกคุณว่ามันทำอะไรในแวบเดียว
- การทำงานร่วมกัน — การจัดรูปแบบที่สม่ำเสมอในทีมหมายความว่าทุกคนอ่าน SQL ในแบบเดียวกัน
วิธีจัดรูปแบบ SQL
- วาง SQL ของคุณ — ป้อนคำสั่งที่บีบอัดหรือยุ่งในตัวจัดรูปแบบ มันจัดการ SELECT, INSERT, UPDATE, DELETE, CREATE TABLE รวมถึงคำสั่งที่ซับซ้อนที่มีคำสั่งย่อยและการ JOIN
- กำหนดตัวเลือก — เลือกขนาดการเยื้องและว่าคีย์เวิร์ดควรเป็นตัวพิมพ์ใหญ่หรือไม่ การตั้งค่าเหล่านี้ตรงกับคู่มือสไตล์ของโครงการของคุณ
- คัดลอกผลลัพธ์ — SQL ที่จัดรูปแบบพร้อมที่จะวางกลับเข้าไปในตัวแก้ไข ไคลเอนต์ฐานข้อมูล หรือเอกสารของคุณ
การจัดรูปแบบที่ดีดูเป็นอย่างไร
คำสั่งเช่น select u.name, o.total from users u join orders o on u.id = o.user_id where o.total > 100 and u.active = 1 order by o.total desc กลายเป็น:
SELECT
u.name,
o.total
FROM users u
JOIN orders o
ON u.id = o.user_id
WHERE o.total > 100
AND u.active = 1
ORDER BY o.total DESC
แต่ละ clause เริ่มต้นในบรรทัดของตัวเอง เงื่อนไขถูกเยื้องภายใต้ clause หลัก การ JOIN และเงื่อนไข ON ถูกจับคู่อย่างชัดเจน
เคล็ดลับ
- จัดรูปแบบก่อน commit — ส่ง SQL ของคุณผ่านตัวจัดรูปแบบก่อนเพิ่มลงในการควบคุมเวอร์ชัน สิ่งนี้ทำให้ diffs สะอาดและการตรวจสอบมุ่งเน้นที่ตรรกะ ไม่ใช่สไตล์
- ใช้การพิมพ์ตัวพิมพ์ของคีย์เวิร์ดที่สม่ำเสมอ — เลือกตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กและยึดติดกับมันในโครงการของคุณ สไตล์ที่ผสมกันทำให้คำสั่งอ่านยาก
- แยกคำสั่งที่ซับซ้อน — หากคำสั่งยังอ่านยากแม้จะจัดรูปแบบแล้ว ให้แยกเป็น CTE (Common Table Expressions) หรือ views การจัดรูปแบบไม่สามารถแก้ไขตรรกะที่ซับซ้อนพื้นฐานได้
- ตรวจสอบการไฮไลต์ไวยากรณ์ — ตัวจัดรูปแบบที่ดีเสนอการไฮไลต์ที่แยกแยะคีย์เวิร์ด สตริง และตัวเลข ซึ่งช่วยตรวจหาคำสะกดผิด
คำถามที่พบบ่อย
ควรเขียนคีย์เวิร์ด SQL เป็นตัวพิมพ์ใหญ่หรือไม่?
เป็นธรรมเนียมที่ปฏิบัติตามกันอย่างกว้างขวางในการเขียนคีย์เวิร์ด SQL เป็นตัวพิมพ์ใหญ่ (SELECT, FROM, WHERE) และชื่อตารางหรือคอลัมน์เป็นตัวพิมพ์เล็ก ทำให้คำสั่งอ่านได้ง่ายทางสายตา คู่มือสไตล์ส่วนใหญ่แนะนำ แต่ไม่มีเอ็นจิ้นฐานข้อมูลใดบังคับ
การจัดรูปแบบเปลี่ยนการดำเนินการของคำสั่งหรือไม่?
ไม่ ช่องว่างและการเยื้องไม่มีผลต่อการดำเนินการ SQL การจัดรูปแบบเป็นเพียงเพื่อความสามารถในการอ่านของมนุษย์ คำสั่งที่บีบอัดและที่เยื้องให้ผลลัพธ์เดียวกัน
ควรใช้ขนาดการเยื้องใด?
สองหรือสี่ช่องว่างทั้งคู่เป็นเรื่องปกติ เลือกสิ่งที่ทีมของคุณใช้และคงความสม่ำเสมอ ตัวจัดรูปแบบ SQL ส่วนใหญ่อนุญาตให้กำหนดค่าได้
SQL ของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ การจัดรูปแบบเกิดขึ้นทั้งหมดในเบราว์เซอร์ของคุณ คำสั่งของคุณไม่เคยออกจากอุปกรณ์ของคุณ