เครื่องมือจัดรูปแบบ SQL

จัดรูปแบบ SQL และอ่านคำอธิบายการทำงานทีละส่วนเป็นภาษาทั่วไปที่เข้าใจง่าย

ข้อมูล SQL

ย่อหน้า
คำสำคัญ
query.sql
มุมมอง
วางคิวรีเพื่อจัดรูปแบบหรืออธิบายการทำงาน

SQL ของคุณจะถูกจัดรูปแบบและวิเคราะห์ภายในเบราว์เซอร์ของคุณโดยตรง ไม่มีการอัปโหลดข้อมูลใดๆ ไปยัง BroBroGo

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

เครื่องมือนี้รองรับการจัดรูปแบบ SQL ภาษา (Dialect) ใดบ้าง?

รองรับ Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake และ Spark SQL โปรดเลือกภาษาที่ตรงกับฐานข้อมูลของคุณ เพื่อให้คำสำคัญและการใส่เครื่องหมายอัญประกาศทำงานได้อย่างถูกต้องตามที่ระบบนั้นๆ ต้องการ

ระบบอธิบายคิวรีเป็นภาษาทั่วไปทำงานอย่างไร?

ระบบจะอ่านโครงสร้างของคิวรี — ประเภทของคำสั่งและแต่ละส่วนย่อย เช่น SELECT, FROM, JOIN, WHERE, GROUP BY และ ORDER BY — จากนั้นจะอธิบายหน้าที่ของแต่ละส่วน ซึ่งเป็นการอธิบายรูปแบบของคิวรี ไม่ใช่แผนการทำงานของฐานข้อมูล (Execution Plan) ดังนั้นจึงยังสามารถทำงานได้กับ SQL ที่ไม่สมบูรณ์หรือ SQL เฉพาะของบางระบบ

การวางคิวรีจากระบบที่ใช้งานจริง (Production) ปลอดภัยหรือไม่?

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

การทำงานของเครื่องมือจัดรูปแบบ SQL

เครื่องมือจัดรูปแบบ SQL เป็นเครื่องมือออนไลน์ที่ช่วยแปลงรหัส SQL ที่อ่านยากและยุ่งเหยิงให้มีความเป็นระเบียบเรียบร้อยและอ่านง่ายขึ้นในทันที นอกเหนือจากการจัดรูปแบบแล้ว เครื่องมือนี้ยังสามารถอธิบายการทำงานของคิวรี SQL แต่ละส่วนเป็นภาษาทั่วไปที่เข้าใจง่าย โดยจะวิเคราะห์และแยกแยะรายละเอียดการทำงานออกเป็นส่วนๆ ทีละประโยคคำสั่ง (Clause) กระบวนการจัดรูปแบบและการอธิบายทั้งหมดนี้จะเกิดขึ้นและแสดงผลทันทีภายในเบราว์เซอร์ของผู้ใช้งาน


ข้อมูลนำเข้าและตัวเลือกการตั้งค่า

ผู้ใช้งานสามารถกำหนดค่าข้อมูลนำเข้าเพื่อจัดรูปแบบรหัส SQL ได้ตามความต้องการดังต่อไปนี้:

  • ข้อมูล SQL: รหัสคิวรี SQL ที่ต้องการจัดรูปแบบ โดยรองรับความยาวสูงสุดไม่เกิน 300,000 ตัวอักษร
  • ภาษา SQL (Dialect): สามารถเลือกภาษา SQL ให้ตรงกับระบบฐานข้อมูลที่ใช้งาน ได้แก่ Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake หรือ Spark SQL
  • ย่อหน้า: รูปแบบการย่อหน้าสำหรับการจัดรูปแบบ โดยเลือกได้ระหว่าง ช่องว่าง 2 ช่อง, ช่องว่าง 4 ช่อง หรือแท็บ (Tab)
  • คำสำคัญ: การกำหนดตัวพิมพ์สำหรับคำสำคัญของ SQL ได้แก่ ตัวพิมพ์ใหญ่, ตัวพิมพ์เล็ก หรือคงเดิม (Keep)

ผลลัพธ์และการแสดงผลข้อมูล

หลังจากประมวลผล เครื่องมือจะแสดงข้อมูลผลลัพธ์ดังต่อไปนี้:

  • จัดรูปแบบแล้ว: รหัสคิวรี SQL ที่ได้รับการจัดรูปแบบใหม่ตามภาษา SQL และรูปแบบย่อหน้าที่เลือกไว้
  • บรรทัด: จำนวนบรรทัดทั้งหมดที่ปรากฏในรหัส SQL ที่จัดรูปแบบแล้ว
  • ตัวอักษร: จำนวนตัวอักษรทั้งหมดในรหัส SQL ที่จัดรูปแบบแล้ว
  • ขนาด (Size): ขนาดของรหัส SQL ที่จัดรูปแบบแล้ว
  • อธิบาย (Explanation): คำอธิบายโครงสร้างการทำงานของคิวรีทีละส่วน โดยมีรายละเอียดการแสดงผลดังนี้:
    • อธิบายคำสั่ง {count} รายการแล้ว ({count} statement(s) explained): แสดงจำนวนรายการคำสั่งทั้งหมดที่ได้รับการอธิบาย
    • คำสั่งที่ {n} (Statement {n}): ป้ายกำกับระบุลำดับของแต่ละคำสั่งในกรณีที่เป็นคิวรีแบบหลายคำสั่ง
    • ประเภทคำสั่ง (Kind): อธิบายประเภทโดยรวมของคำสั่ง SQL เช่น:
      • คิวรีที่อ่านและคืนค่าแถวข้อมูลโดยไม่มีการเปลี่ยนแปลงใดๆ (สำหรับ SELECT)
      • เพิ่มแถวใหม่เข้าไปในตาราง (สำหรับ INSERT)
      • เปลี่ยนแปลงค่าในแถวที่มีอยู่แล้ว (สำหรับ UPDATE)
      • ลบแถวออกจากตาราง (สำหรับ DELETE)
      • กำหนดออบเจกต์ใหม่ เช่น ตาราง (Table), วิว (View) หรือดัชนี (Index) (สำหรับ CREATE)
      • เปลี่ยนคำจำกัดความของออบเจกต์ที่มีอยู่ (สำหรับ ALTER)
      • ลบออบเจกต์ออกจากฐานข้อมูลอย่างถาวร (สำหรับ DROP)
      • ล้างข้อมูลในตาราง โดยลบทุกแถวออกทั้งหมด (สำหรับ TRUNCATE)
      • สร้างผลลัพธ์ชั่วคราวที่มีชื่อเรียก (CTE) สำหรับคิวรีที่ตามมา (สำหรับ WITH)
      • แทรก อัปเดต หรือลบแถวในการทำงานรวมกันเพียงครั้งเดียว (สำหรับ MERGE)
      • คำสั่ง SQL (สำหรับคำสั่งประเภทอื่นๆ หรือ OTHER)
    • บทบาทหน้าที่ (Role): อธิบายหน้าที่ของแต่ละส่วนย่อยภายในคำสั่ง เช่น:
      • คอลัมน์และนิพจน์ที่ส่งกลับมา (สำหรับ SELECT)
      • คอลัมน์ที่ส่งกลับมา โดยลบแถวที่ซ้ำกันออก (สำหรับ SELECT DISTINCT)
      • ตาราง (หรือคิวรีย่อย) ที่อ่านข้อมูลมา (สำหรับ FROM)
      • รวมแต่ละแถวเข้ากับแถวที่ตรงกันจากอีกตารางหนึ่ง (สำหรับ JOIN)
      • เก็บเฉพาะแถวที่ตรงกับเงื่อนไขนี้ (สำหรับ WHERE)
      • ยุบรวมแถวข้อมูลเป็นกลุ่ม เพื่อให้สามารถคำนวณค่ารวม เช่น COUNT หรือ SUM ในแต่ละกลุ่มได้ (สำหรับ GROUP BY)
      • กรองกลุ่มข้อมูลเหล่านั้นหลังจากคำนวณค่ารวมแล้ว (สำหรับ HAVING)
      • จัดเรียงแถวผลลัพธ์ (สำหรับ ORDER BY)
      • จำกัดจำนวนแถวสูงสุดที่จะส่งกลับมา (สำหรับ LIMIT)
      • ข้ามแถวตามจำนวนที่กำหนดก่อนจะส่งกลับผลลัพธ์ (สำหรับ OFFSET)
      • รวมผลลัพธ์นี้เข้ากับผลลัพธ์ของอีกคิวรีหนึ่ง (สำหรับ UNION)
      • ค่าของแถวข้อมูลที่กำลังถูกแทรก (สำหรับ VALUES)
      • ตารางที่จะรับแถวข้อมูลใหม่ (สำหรับ INTO)
      • ค่าคอลัมน์ใหม่ที่จะกำหนดให้ (สำหรับ SET)
      • ตารางที่แถวข้อมูลจะถูกเปลี่ยนแปลง (สำหรับ UPDATE)
      • ตารางที่แถวข้อมูลจะถูกลบออก (สำหรับ DELETE FROM)
      • กำหนดชุดผลลัพธ์ชั่วคราวที่มีชื่อเรียกเพื่อนำไปใช้งานด้านล่าง (สำหรับ WITH)
      • คำสั่งที่แสดงตามที่เป็นอยู่ (สำหรับ STATEMENT)

กฎเกณฑ์และกรณีพิเศษในการทำงาน

  • หากรหัส SQL ที่นำเข้ามีขนาดใหญ่เกินไป (มากกว่า 300,000 ตัวอักษร) ระบบจะแสดงข้อความแจ้งเตือนว่า "คิวรีนี้มีขนาดใหญ่เกินกว่าจะประมวลผลได้ โปรดลองใช้ไฟล์ที่มีขนาดเล็กลง"
  • หากรหัส SQL ที่นำเข้ามีข้อผิดพลาดทางไวยากรณ์ ระบบจะแสดงข้อความแจ้งเตือนว่า "ไม่สามารถจัดรูปแบบ SQL นี้ได้ — โปรดตรวจสอบไวยากรณ์"
  • เมื่อเกิดข้อผิดพลาดขึ้นในการประมวลผล ผลลัพธ์ที่เคยแสดงอยู่ก่อนหน้าจะไม่ถูกลบหรือแทนที่ด้วยข้อความแสดงข้อผิดพลาดนั้น
  • การคลิกปุ่ม "ล้างข้อมูล" จะเป็นการล้างข้อมูลทั้งในช่องข้อมูลนำเข้าและพื้นที่แสดงผลลัพธ์ พร้อมทั้งซ่อนรายละเอียดข้อผิดพลาดทั้งหมด และแสดงข้อความว่า "ล้างข้อมูลแล้ว"
  • ฟังก์ชันการอธิบายการทำงานสามารถวิเคราะห์รหัส SQL ที่ไม่สมบูรณ์ หรือรหัส SQL เฉพาะของบางระบบได้ เนื่องจากระบบใช้วิธีอธิบายโครงสร้างของคิวรี ไม่ใช่การดึงแผนการทำงานของฐานข้อมูล (Execution Plan)
  • หากคิวรีที่นำเข้ามีคำสั่งมากกว่า 25 คำสั่ง ระบบจะแสดงคำอธิบายเฉพาะ 25 คำสั่งแรกเท่านั้น พร้อมระบุหมายเหตุว่า "แสดงเฉพาะ 25 รายการแรกเท่านั้น"
  • เครื่องมือนี้จะบันทึกรหัสร่างและค่ากำหนดเกี่ยวกับธีมไว้ในเบราว์เซอร์ของผู้ใช้งานโดยตรง

ความเป็นส่วนตัวและความปลอดภัยของข้อมูล

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


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

ถาม: เครื่องมือนี้รองรับการจัดรูปแบบ SQL ภาษา (Dialect) ใดบ้าง?
ตอบ: รองรับ Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake และ Spark SQL โปรดเลือกภาษาที่ตรงกับฐานข้อมูลของคุณ เพื่อให้คำสำคัญและการใส่เครื่องหมายอัญประกาศทำงานได้อย่างถูกต้องตามที่ระบบนั้นๆ ต้องการ

ถาม: ระบบอธิบายคิวรีเป็นภาษาทั่วไปทำงานอย่างไร?
ตอบ: ระบบจะอ่านโครงสร้างของคิวรี — ประเภทของคำสั่งและแต่ละส่วนย่อย เช่น SELECT, FROM, JOIN, WHERE, GROUP BY และ ORDER BY — จากนั้นจะอธิบายหน้าที่ของแต่ละส่วน ซึ่งเป็นการอธิบายรูปแบบของคิวรี ไม่ใช่แผนการทำงานของฐานข้อมูล (Execution Plan) ดังนั้นจึงยังสามารถทำงานได้กับ SQL ที่ไม่สมบูรณ์หรือ SQL เฉพาะของบางระบบ

ถาม: การวางคิวรีจากระบบที่ใช้งานจริง (Production) ปลอดภัยหรือไม่?
ตอบ: ปลอดภัยอย่างแน่นอน การจัดรูปแบบและการวิเคราะห์ทำงานภายในเบราว์เซอร์ของคุณทั้งหมด — ข้อมูล SQL ของคุณจะไม่ถูกส่งออกจากหน้าเว็บเลย