แปลงฟรี

ตัวจัดรูปแบบ SQL & บิวตี้ฟายเออร์

จัดรูปแบบ ตกแต่ง และล้างคำสั่ง SQL ทันทีในเบราว์เซอร์ของคุณ ไม่จำเป็นต้องอัปโหลด — เป็นส่วนตัวโดยสมบูรณ์และฟรี

ลากและวางไฟล์ SQL ที่นี่

รองรับไฟล์ .sql หรือวาง SQL ของคุณลงในพื้นที่ด้านบน

หรือ

เกี่ยวกับเครื่องมือนี้

การสืบค้น SQL มีความยาวและซับซ้อนอย่างรวดเร็ว — รวมเข้ากับหลายตาราง, การสืบค้นย่อยที่ซ้อนกัน, ส่วนคำสั่ง WHERE ขนาดใหญ่ที่มีหลายเงื่อนไข, นิพจน์ CASE ที่ซับซ้อน Compact SQL ที่อัดแน่นอยู่ในไม่กี่บรรทัดไม่สามารถอ่านได้ การเยื้อง SQL อย่างถูกต้องด้วยการใช้อักษรตัวพิมพ์ใหญ่ที่สอดคล้องกันทำให้โครงสร้างการสืบค้นมองเห็นได้อย่างรวดเร็ว การจัดรูปแบบคือความแตกต่างระหว่างแบบสอบถามที่คุณสามารถแก้ไขข้อบกพร่องได้กับแบบสอบถามที่คุณไม่สามารถแก้ไขได้

ตัวจัดรูปแบบนี้จะแยกวิเคราะห์ SQL และปล่อยเอาต์พุตที่มีการเยื้องและใส่ขนาดตัวพิมพ์อย่างเหมาะสม คำหลัก SQL (SELECT, FROM, WHERE, JOIN, GROUP BY) โดยทั่วไปจะเป็นตัวพิมพ์ใหญ่ ชื่อตารางและคอลัมน์ตรงกับแหล่งที่มา และการเยื้องสะท้อนถึงการซ้อนกัน (แบบสอบถามย่อยเยื้องภายในพาเรนต์ของพวกเขา, สาขา CASE เยื้อง) การสนับสนุนหลายภาษารองรับความแตกต่างของ MySQL, PostgreSQL, SQL Server, Oracle และ SQLite

การจัดรูปแบบไม่ทำลาย — แบบสอบถามที่จัดรูปแบบมีฟังก์ชันการทำงานเหมือนกับอินพุต การเปลี่ยนแปลงช่องว่างและตัวพิมพ์เท่านั้น

ทำไมต้องฟอร์แมต SQL

การอ่าน SQL ที่ไม่ได้ฟอร์แมตหนาแน่นนั้นทำให้จิตใจลำบาก การระบุว่าเงื่อนไขใดเป็นของ JOIN ใด คิวรีย่อยเริ่มต้นและสิ้นสุดที่ใด และสาขาของ CASE เกี่ยวข้องกับทั้งหมดอย่างไรจะยากขึ้นเมื่อทุกอย่างมีเพียงไม่กี่บรรทัด SQL ที่จัดรูปแบบแล้วอ่านได้เร็วกว่าและลดจุดบกพร่องจากโครงสร้างการอ่านผิด

ประโยชน์จากการทบทวนโค้ดโดยเฉพาะ ผู้ตรวจทานสามารถเข้าใจได้อย่างรวดเร็วว่าคิวรีทำอะไรเมื่อถูกจัดรูปแบบ การอ่าน SQL ที่ไม่ได้ฟอร์แมตในระหว่างการตรวจสอบจะกระตุ้นให้มีการข้ามหรือประทับตรายาง SQL ที่จัดรูปแบบยังสร้างความแตกต่างที่มีความหมายเมื่อแบบสอบถามเปลี่ยนแปลง

วิธีใช้งาน

วางแบบสอบถาม คลิกรูปแบบ

  1. วาง SQL ของคุณ: วางแบบสอบถามลงในพื้นที่ป้อนข้อมูล คำสั่งเดียวหรืออินพุตหลายคำสั่งทำงานได้ทั้งคู่
  2. เลือกภาษาถิ่น: ค่าเริ่มต้นคือ SQL ทั่วไป เลือก MySQL, PostgreSQL, SQL Server หรือ Oracle สำหรับการจดจำคำสำคัญเฉพาะภาษาถิ่น
  3. กำหนดค่าตัวเลือก: ขนาดการเยื้อง (โดยทั่วไปคือ 2 หรือ 4 ช่องว่าง) ตัวพิมพ์คีย์เวิร์ด (ตัวพิมพ์ใหญ่มักพบบ่อยที่สุด ตัวพิมพ์เล็กคือการตั้งค่าของทีมบางทีม) การวางเครื่องหมายจุลภาค (ต่อท้ายหรือนำหน้า)
  4. รูปแบบ: The formatted output appears immediately. คัดลอกหรือดาวน์โหลดเพื่อใช้งาน

กรณีการใช้งานทั่วไป

รายละเอียดทางเทคนิค

การแยกวิเคราะห์ SQL จำเป็นต้องมีความเข้าใจภาษาถิ่นเนื่องจากฐานข้อมูลที่แตกต่างกันจะขยายไวยากรณ์ในรูปแบบที่แตกต่างกัน โดยทั่วไปตัวจัดรูปแบบจะใช้โทเค็นไนเซอร์เพื่อระบุคีย์เวิร์ด ตัวระบุ ตัวอักษร และเครื่องหมายวรรคตอน จากนั้นจะสร้างเอาต์พุตที่มีกฎสำหรับช่องว่างและการเยื้องระหว่างโทเค็น

กฎการเยื้อง: SELECT, FROM, WHERE, GROUP BY, ORDER BY แต่ละรายการในบรรทัดของตนเอง รวมตารางในบรรทัดถัดไปที่เยื้องใต้ FROM เงื่อนไขใน WHERE บนบรรทัดแยกเพื่อให้สามารถอ่านได้ แบบสอบถามย่อยในบล็อกเยื้องของตัวเอง

แบบแผนกรณี: คำหลักตัวพิมพ์ใหญ่ (SELECT, FROM, WHERE) เป็นเรื่องธรรมดาที่สุด บางทีมชอบตัวพิมพ์เล็ก ตัวระบุ (ชื่อตารางและคอลัมน์) จะรักษาตัวพิมพ์ต้นฉบับ

แนวทางปฏิบัติที่ดีที่สุด

คำถามที่พบบ่อย

การจัดรูปแบบเปลี่ยนลักษณะการทำงานของคิวรีหรือไม่
ไม่ การจัดรูปแบบ SQL จะปรับเฉพาะช่องว่าง การขึ้นบรรทัดใหม่ และการใช้ตัวพิมพ์เล็กหรือใหญ่เท่านั้น ตรรกะคิวรี แผนการดำเนินการ และผลลัพธ์ยังคงเหมือนเดิม เป็นการปรับปรุงความสามารถในการอ่านอย่างแท้จริง
รองรับภาษา SQL ใดบ้าง
เครื่องมือนี้รองรับ SQL มาตรฐานและภาษาถิ่นเฉพาะ: MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) และ Oracle PL/SQL คำหลักและฟังก์ชันเฉพาะภาษาได้รับการยอมรับอย่างถูกต้อง
มันจัดการกับแบบสอบถามย่อยและ CTE หรือไม่
ใช่. นิพจน์ตารางทั่วไป (WITH clauses), คิวรีย่อยแบบซ้อน, ฟังก์ชันหน้าต่าง และสายโซ่ JOIN ที่ซับซ้อน ได้รับการจัดรูปแบบด้วยระดับการเยื้องที่เหมาะสม
ฉันสามารถใช้สิ่งนี้กับขั้นตอนการจัดเก็บได้หรือไม่?
ตัวจัดรูปแบบจัดการกับคำสั่ง SQL เดี่ยวได้ดีที่สุด ขั้นตอนหลายคำสั่ง ทริกเกอร์ และฟังก์ชันอาจทำงานได้ แต่การจัดรูปแบบตรรกะขั้นตอนที่ซับซ้อน (IF/ELSE, ลูป) ขึ้นอยู่กับภาษาถิ่น
คำหลักควรเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก?
อนุสัญญาแตกต่างกันไป คำหลักตัวพิมพ์ใหญ่เป็นคำหลักแบบดั้งเดิมและทั่วไป ตัวพิมพ์เล็กกำลังได้รับการยอมรับในไกด์สไตล์สมัยใหม่ เลือกหนึ่งรายการและรักษาความสอดคล้องภายในโค้ดเบส
มันจัดรูปแบบขั้นตอนการจัดเก็บหรือไม่?
ตัวจัดรูปแบบส่วนใหญ่จัดการไวยากรณ์ของกระบวนงานที่เก็บไว้ (สร้างขั้นตอน บล็อก BEGIN/END โฟลว์การควบคุม) ส่วนขยายเฉพาะภาษาถิ่นอาจได้รับการสนับสนุนบางส่วน
SQL ของฉันถูกอัปโหลดหรือไม่
ไม่ การจัดรูปแบบเกิดขึ้นในเบราว์เซอร์ของคุณ
ฉันสามารถจัดรูปแบบจากบรรทัดคำสั่งได้หรือไม่
ตัวจัดรูปแบบ SQL หลายตัวมีเครื่องมือ CLI (sqlfluff, ตัวจัดรูปแบบ sql) ใช้สำหรับการจัดรูปแบบเป็นชุดหรือการรวม CI ตัวจัดรูปแบบเบราว์เซอร์มีไว้สำหรับการใช้งานแบบเฉพาะกิจเพียงครั้งเดียว