คำจำกัดความ
SQL Formatter คืออะไร?
SQL Formatter ช่วยจัดรูปแบบคำสั่ง SQL ที่เขียนเป็นบรรทัดเดียวยาวๆ ให้อ่านง่าย โดยขึ้นบรรทัดใหม่ที่ keyword หลัก (SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY, LIMIT) และจัดระยะเยื้องให้เห็น nested subquery ชัดเจน
เครื่องมือนี้รองรับ SQL dialect หลักๆ เช่น MySQL, PostgreSQL, SQLite รวมถึง CTE (WITH), window functions และ nested subqueries
- จัดบรรทัดที่ SELECT / FROM / WHERE / JOIN / GROUP BY / ORDER BY / LIMIT
- Uppercase keywords อัตโนมัติ (SELECT, FROM, WHERE)
- รองรับ CTE (WITH clause) และ window functions (OVER, PARTITION BY)
- รักษา comment ทั้งแบบ -- และ /* ... */ ไว้
- คัดลอกผลลัพธ์ไปใช้ใน IDE หรือ query tool ได้ทันที
Dialects
SQL Dialects ที่รองรับ
- MySQL / MariaDB — LIMIT, backtick identifiers
- PostgreSQL — RETURNING, ::type casting, $$ dollar-quoted strings
- SQLite — attached databases, JSON functions
- SQL Server (T-SQL) — TOP, square-bracket identifiers
- จัดรูปแบบ SQL ที่ copy มาจาก ORM (Prisma, TypeORM) ก่อน debug
- ทำ query documentation ให้เพื่อนร่วมทีมอ่านง่าย
- Format query ที่เก็บเป็น string ใน code ให้สวยก่อน commit
- เตรียม SQL ก่อน explain analyze เพื่อดู execution plan
- เขียน migration script ที่ต้อง review ใน PR
เคล็ดลับ
เคล็ดลับเขียน SQL
- ใช้ uppercase กับ keyword และ lowercase กับ column/table เพื่อแยกออกง่าย
- จัด indent 2 spaces ต่อระดับ subquery เพื่อเห็นความลึก
- วางแต่ละ JOIN บนบรรทัดใหม่พร้อม ON condition ในบรรทัดเดียวกัน
- ใช้ CTE (WITH) แทน nested subquery เมื่อ query ยาว เพื่ออ่านง่ายขึ้น
- ใส่ trailing comma style ในลิสต์ column ช่วยให้ git diff อ่านง่าย
Format ทำงานในเบราว์เซอร์ล้วน ข้อมูลไม่ออกจากเครื่อง แต่ผลลัพธ์อาจไม่สมบูรณ์สำหรับ vendor-specific extension ควรตรวจสอบ query ใน database tool ก่อนนำไปใช้