SQL Formatter: จัดรูปแบบ Query ให้สวยและอ่านง่ายในพริบตา
เครื่องมือ SQL Formatter ออนไลน์ฟรี ช่วยจัด indentation, uppercase keywords และ minify query ได้ในเบราว์เซอร์ โดยไม่ต้องสมัครสมาชิก
Table of Contents
SQL Formatter: จัดรูปแบบ Query ให้สวยและอ่านง่ายในพริบตา
ทุกครั้งที่เราเขียน SQL ยาวๆ หรือเจอ query ที่ ORM generate ออกมาเป็นบรรทัดเดียวรกไปหมด การอ่านเพื่อทำ code review หรือ debug กลายเป็นฝันร้าย SQL ที่ไม่มี indentation ทำให้สายตาสับสน มองไม่เห็นว่า WHERE อยู่ตรงไหน JOIN เชื่อมกันแบบไหน หรือวงเล็บปิดตรงไหนบ้าง SQL Formatter คือเครื่องมือออนไลน์ฟรีที่ช่วยจัดรูปแบบ query ให้สวย อ่านง่าย และมีโครงสร้างชัดเจนในพริบตา โดยไม่ต้องติดตั้งอะไรเลย
SQL formatting คือกระบวนการจัดระเบียบโค้ด SQL ให้มี indentation ที่ถูกต้อง ขึ้นบรรทัดใหม่ตรง major keyword และใช้ตัวพิมพ์เดียวกันทั้งหมด (เช่น uppercase ทุก keyword) ผลลัพธ์คือ query ที่ทีม dev คนอื่นเปิดมาแล้วอ่านเข้าใจได้ทันที ลดเวลาเสียเปล่าในการไล่โค้ด และลดโอกาสเกิด bug จากการเข้าใจผิดเรื่องโครงสร้าง query ในงาน database ประจำวัน SQL Formatter จึงเป็นเพื่อนคู่ใจของทั้ง backend developer, data analyst และ DBA
ที่สำคัญ เครื่องมือนี้ประมวลผลฝั่ง client ทั้งหมด ไม่มีการส่ง SQL ของคุณไปที่ server ดังนั้น query ที่มีข้อมูล sensitive ก็สามารถจัดรูปแบบได้อย่างปลอดภัย ลองเปิดใช้ได้เลยที่ SQL Formatter
ทำไมต้องใช้ SQL Formatter?
- จัดรูปแบบทันที — วาง SQL ที่รกไปกด Format ปุ๊บได้ผลลัพธ์ที่มี indentation สวยทันที ไม่ต้องเสียเวลาจัดมือ
- อ่านง่ายขึ้นทันที — การขึ้นบรรทัดใหม่ตรง SELECT FROM WHERE ทำให้มองเห็นโครงสร้าง clause ได้ในพริบตา
- เร่งการ code review — reviewer ไม่ต้องเสียเวลาไล่บรรทัดยาวๆ เห็น logic ของ query ได้ชัดเจน เปิด PR แล้ว comment กันได้เร็วขึ้น
- debug ง่ายขึ้น — ตอน error หรือ performance ตก query ที่จัดแล้วช่วยให้เห็นว่า subquery ซ้อนกันกี่ชั้น หรือ JOIN ตรงไหนที่ทำให้ช้า
- มาตรฐานร่วมกัน — ทีมใช้ casing และ indent เดียวกัน โค้ดดูสะอาดเหมือนเขียนโดยคนคนเดียว ลดความสับสนใน codebase
- รักษาความเป็นส่วนตัว — ประมวลผลในเบราว์เซอร์ ไม่อัปโหลด SQL ไปไหน เหมาะกับ query ที่มีข้อมูลละเอียดอ่อน
ฟีเจอร์เด่น
| ฟีเจอร์ | สิ่งที่ทำได้ |
|---|---|
| Format & beautify | จัด indentation ให้ SQL query ทันที พร้อมขึ้นบรรทัดใหม่ตรง major keyword |
| ปรับ indent size | เลือกได้ว่าจะใช้ 2 หรือ 4 spaces ตามมาตรฐานทีม |
| สลับ uppercase/lowercase | สลับตัวพิมพ์ของ keywords อย่าง SELECT FROM WHERE ได้ในคลิก |
| โหมด Minify | ย่อ SQL ให้เป็นบรรทัดเดียวกระชับ สำหรับฝังใน string ของแอป |
| รองรับ keyword & function | จดจำ statement keyword ทั้งหมด และรู้จัก SQL function เช่น COUNT SUM CASE/WHEN |
| Privacy & shortcut | ประมวลผลฝั่ง client พร้อม keyboard shortcut แบบ Ctrl+F format Ctrl+M minify |
Indent toggle 2/4 spaces ช่วยให้คุณปรับตาม code style ของทีมได้ทันที บางทีมชอบ 2 เพราะประหยัดพื้นที่แนวนอน บางทีมชอบ 4 เพราะมองเห็น nesting ชัดกว่า ไม่ต้องเถียงกัน ปรับในเครื่องมือได้เลย
Uppercase keywords ทำให้ keyword ทั้งหมดโดดเด่นจากชื่อ table และ column เปิด query มาสายตาแยกได้ทันทีว่าส่วนไหนคือ structure ส่วนไหนคือข้อมูล เป็น convention ยอดนิยมใน codebase ระดับ enterprise
โหมด Minify กลับกันคือย่อ query ที่จัดสวยแล้วกลับเป็นบรรทัดเดียว มีประโยชน์มากตอนฝัง SQL ใน string ของ application code หรือ config ที่ต้องการขนาดเล็กที่สุด ลด whitespace ที่ไม่จำเป็นออกไปทั้งหมด
วิธีใช้งาน SQL Formatter
- วาง SQL ของคุณ — คัดลอก query ที่ต้องการจัดรูปแบบ (จะเป็นบรรทัดเดียวรกๆ หรือหลายบรรทัดก็ได้) แล้ววางในช่อง input รองรับ input สูงสุด 100KB
- เลือก indent size — กำหนดว่าจะใช้ 2 หรือ 4 spaces สำหรับ indentation ตามมาตรฐานของทีม
- สลับ uppercase keywords — เปิด/ปิดการแปลง keyword ให้เป็นตัวพิมพ์ใหญ่ (ค่าเริ่มต้นคือเปิด เพื่อให้ SELECT FROM WHERE โดดเด่น)
- กด Format — คลิกปุ่ม Format หรือใช้ Ctrl+F ระบบจะขึ้นบรรทัดใหม่ตรง major keyword และ indent ตามความลึกของวงเล็บให้อัตโนมัติ หากต้องการ minify ก็กดปุ่ม Minify หรือ Ctrl+M
- Copy ผลลัพธ์ — คลิก Copy to clipboard เพื่อเอา SQL ที่จัดแล้วไปใช้ต่อใน editor, pull request หรือ document
ทำความเข้าใจ SQL Formatting
หัวใจของ SQL formatting คือการจัดวาง clause ให้สะท้อนโครงสร้าง logic ของ query เครื่องมือจะจดจำ major keywords อย่าง SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY, HAVING, UNION และ LIMIT แล้วขึ้นบรรทัดใหม่ให้อัตโนมัติก่อนแต่ละ keyword ผลคือแต่ละ clause ยืนอยู่บนบรรทัดของตัวเอง สายตาสแกนได้ง่ายว่า query อ่านข้อมูลจากไหน กรองอย่างไร และเรียงลำดับแบบไหน
การ indent ตาม clause nesting จะช่วยขยายความสัมพันธ์ระหว่าง query หลักกับ subquery ที่อยู่ในวงเล็บ ยิ่งวงเล็บซ้อนลึกเท่าไหร่ indent ก็จะเพิ่มขึ้นตาม ทำให้เห็นได้ชัดว่า CASE/WHEN หรือ subquery แต่ละก้อนอยู่ในบริบทของ clause ใด ตัวอย่างเช่น query ที่รกแบบนี้:
select u.name,count(o.id) as cnt from users u left join orders o on o.user_id=u.id where u.status='active' group by u.name having count(o.id)>5 order by cnt desc limit 10;
จะถูกจัดเป็น:
SELECT u.name,
COUNT(o.id) AS cnt
FROM users u
LEFT JOIN orders o
ON o.user_id = u.id
WHERE u.status = 'active'
GROUP BY u.name
HAVING COUNT(o.id) > 5
ORDER BY cnt DESC
LIMIT 10;
การ uppercase keyword แยก structure ออกจากข้อมูล ส่วนการ minify ทำตรงกันข้ามคือบีบ query ให้แคบที่สุดเพื่อฝังใน string ของแอป ทั้งสองโหมดมีไว้สำหรับบริบทต่างกัน ไม่ใช่สิ่งที่ดีกว่าเสมอไป
กรณีใช้งานจริง
เก็บ ORM query ยักษ์ก่อน code review
ORM อย่าง Hibernate หรือ Entity Framework มัก generate SQL ออกมาเป็นบรรทัดเดียวยาวเหยียด เวลาเปิด PR เพื่อนในทีมตาลายแน่ๆ วาง query ดังกล่าวลงใน SQL Formatter แล้วกด Format จะได้โครงสร้างที่อ่านได้ทันที ช่วยให้ review เร็วขึ้นและจับ bug เช่น N+1 หรือ join ที่ซ้ำซ้อนได้ง่ายกว่าเดิมมาก
Minify inline SQL สำหรับ string ในแอป
บางครั้งเราเก็บ query ไว้ใน config file หรือ string constant ของแอป โดยต้องการให้กระชับที่สุดเพื่อประหยัดพื้นที่และลด noise ใช้โหมด Minify (Ctrl+M) เพื่อย่อ query ที่จัดสวยแล้วกลับเป็นบรรทัดเดียว ลบ whitespace ส่วนเกินออก ก่อนนำไปฝังใน source code
มาตรฐาน keyword casing ใน codebase เก่า
codebase เก่ามักมี SQL ที่เขียน casing ไม่เป็นหนึ่งเดียว บ้าง lowercase ทั้งหมด บ้าง mixed case ใช้ SQL Formatter เปิด uppercase keywords แล้ว format ทั้งไฟล์ จะได้ convention เดียวกันทั้ง codebase ทำให้ค้นหาและ maintain ง่ายขึ้นมาก
ทำ analytical query ซับซ้อนให้อ่านได้
query สำหรับ dashboard มักมีหลาย JOIN, subquery, CASE/WHEN และ window function ซ้อนกันหลายชั้น SQL Formatter จะ indent ตามความลึกของวงเล็บให้ ทำให้เห็นว่า CASE แต่ละก้อนอยู่ใน SELECT หรือ HAVING และ subquery ซ้อนกี่ชั้น ลดความเสี่ยงที่จะแก้ผิดที่ผิดจุด
แนวทางปฏิบัติที่ดี
- เลือก indent ที่สม่ำเสมอ — ตกลงกันในทีมว่าจะใช้ 2 หรือ 4 spaces แล้วใช้ให้ตลอดทั้ง codebase อย่าสลับไปมา
- มาตรฐาน keyword casing — เลือก uppercase (ที่นิยม) หรือ lowercase อย่างใดอย่างหนึ่งแล้วใช้ทั่วทั้งโปรเจกต์เพื่อความสม่ำเสมอ
- Minify สำหรับ string ใน production — ใช้โหมด Minify เฉพาะตอนฝัง SQL ใน string หรือ config ส่วน query ที่ commit ใน repo ควรเก็บเป็นแบบที่จัดสวยแล้วเพื่อให้คนอ่านได้
- เขียน comment สำหรับ query ซับซ้อน — SQL Formatter จัดโครงสร้างให้ แต่ logic ของ business คุณต้องอธิบายเอง อย่าลืมใส่ comment ตรงจุดที่อ่านแล้วไม่เข้าใจทันที
- ตรวจสอบก่อนรัน — หลังจัด format ให้กลับไปอ่าน query อีกรอบก่อนรันบน production database เพื่อยืนยันว่าโครงสร้างถูกต้อง โดยเฉพาะ query ที่มี UPDATE หรือ DELETE
- จำกัดขนาด input — แม้เครื่องมือจะรองรับสูงสุด 100KB แต่ query ที่ใหญ่เกินไปมักบอกว่า logic ซ้อนกันมากเกินไป ลองพิจารณาแบ่งเป็นหลาย query หรือใช้ view/CTE แทน
เริ่มจัดรูปแบบ SQL ของคุณวันนี้
ไม่ต้องลงทะเบียน ไม่ต้องติดตั้ง ไม่ต้องส่งข้อมูลไป server SQL Formatter พร้อมใช้งานทันทีในเบราว์เซอร์ ไม่ว่าคุณจะเป็น backend dev ที่ต้อง review query ออก ORM, data analyst ที่เจอ analytical query ยักษ์ หรือ DBA ที่ต้องมาตรฐาน codebase เก่า ลองวาง query ที่รกที่สุดของคุณลงไปแล้วกด Format สักครั้ง แล้วคุณจะรู้ว่าการอ่าน SQL ที่สวยงามช่วยประหยัดเวลาและสติไปได้เยอะแค่ไหน ขอให้ query สวยขึ้นนะ!
เครื่องมือที่เกี่ยวข้องที่คุณอาจชอบ
- JSON Formatter — จัดระเบียบข้อมูล JSON ให้มี indentation และ validation ที่ถูกต้อง
- YAML Formatter — beautify และ validate ไฟล์ config YAML
- SQL Query Builder — สร้างคำสั่ง SELECT แบบ visual โดยไม่ต้องพิมพ์เอง
ขอให้ query สวยขึ้นนะ!