ReSuMeYaDev

เครื่องมือนักพัฒนา

SQL Formatter — MySQL / PostgreSQL / SQLite

จัดรูปแบบ SQL ที่เขียนบรรทัดเดียวให้อ่านง่าย ขึ้นบรรทัดที่ SELECT / FROM / WHERE / JOIN พร้อมรักษา comment และรองรับ CTE / window functions

  • ใช้งานฟรี
  • MySQL/PostgreSQL/SQLite
  • Indent อัตโนมัติ
  • รองรับมือถือ

คำจำกัดความ

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 อ่านง่าย

FAQ

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

01 รองรับ SQL dialect ไหนบ้าง?

รองรับ standard SQL syntax ที่ใช้ร่วมกันใน MySQL, PostgreSQL, SQLite และ SQL Server หาก query มี vendor-specific extension เฉพาะอาจไม่ format สมบูรณ์ ควรตรวจผลลัพธ์อีกครั้ง

02 รักษา comment ได้ไหม?

ได้ เครื่องมือรักษา comment ทั้งแบบ -- single-line และ /* */ multi-line ไว้ตรงตำแหน่งเดิม

03 query ถูกส่งออก server ไหม?

ไม่ format ทั้งหมดเกิดในเบราว์เซอร์ของคุณ ข้อมูล query ไม่ออกจากเครื่อง ปลอดภัยสำหรับใช้กับ production SQL

04 ทำไม format ออกมาไม่ตรงกับที่คิด?

อาจเพราะ SQL มี syntax error หรือใช้ vendor-specific extension ลองตรวจ SQL ใน query tool ก่อนแล้วค่อยมา format

05 ใช้กับ dynamic SQL ใน code ได้ไหม?

ได้แต่ต้อง extract string ออกมาก่อน เครื่องมือไม่เข้าใจ ${} template literals หรือ :params ต้องแทนที่เป็น placeholder ธรรมดาเพื่อ format

อ้างอิง

  1. ISO/IEC 9075 — SQL Standard
  2. sql-formatter npm package
  3. Joe Celko — SQL Programming Style

Format ทำงานในเบราว์เซอร์ล้วน ข้อมูลไม่ออกจากเครื่อง แต่ผลลัพธ์อาจไม่สมบูรณ์สำหรับ vendor-specific extension ควรตรวจสอบ query ใน database tool ก่อนนำไปใช้

นักพัฒนา

เครื่องมือคำนวณฟรีอื่น ๆ ที่คุณอาจสนใจ

ดูทั้งหมดในหมวดนี้

ต้องการเครื่องมือคำนวณสำหรับธุรกิจของคุณ?

ReSuMeYaDev รับพัฒนาเว็บไซต์ เครื่องมือคำนวณ และระบบภายในตามความต้องการ — Laravel, Vue, Nuxt, Go, Rust