- 1 1. บทนำ
- 2 2. ข้อกำหนดเบื้องต้น: วิธีเชื่อมต่อกับ MySQL
- 3 3. ตรวจสอบรายการตาราง (แสดงรายการตาราง)
- 4 4. ตรวจสอบโครงสร้างตาราง (รายการคอลัมน์)
- 5 5. ตรวจสอบเนื้อหาตาราง (ข้อมูล)
- 6 6. Get More Detailed Table Information
- 7 7. การตรวจสอบผ่าน INFORMATION_SCHEMA (ขั้นสูง)
- 8 8. เครื่องมือ CLI และทางลัด
- 9 9. ข้อผิดพลาดทั่วไปและวิธีแก้ไข
- 10 10. สรุป
- 11 11. คำถามที่พบบ่อย (FAQ)
- 11.1 Q1. ฉันจะตรวจสอบข้อมูลตารางโดยใช้เงื่อนไขเฉพาะได้อย่างไร?
- 11.2 Q2. ฉันใช้คำสั่ง SHOW TABLES แต่ไม่มีตารางปรากฏ ทำไม?
- 11.3 Q3. ฉันจะดูโครงสร้างตารางในรูปแบบ DDL (คำสั่ง CREATE) ได้อย่างไร?
- 11.4 Q4. มีข้อมูลในตารางมากเกินไปจนไม่สามารถดูทั้งหมดได้ในครั้งเดียว.
- 11.5 Q5. INFORMATION_SCHEMA คืออะไรและควรใช้เมื่อใด?
- 11.6 Q6. ฉันจะแสดงผลลัพธ์ในแนวตั้งได้อย่างไร?
1. บทนำ
เมื่อจัดการฐานข้อมูลด้วย MySQL มีหลายสถานการณ์ที่คุณต้องการ “ตรวจสอบว่าอะไรอยู่ในตาราง” ตัวอย่างเช่น คุณอาจต้องการยืนยันว่าข้อมูลทดสอบถูกจัดเก็บอย่างถูกต้อง หรือยืนยันว่าข้อมูลที่คาดหวังกำลังถูกแทรกขณะพัฒนาแอปพลิเคชัน การสามารถตรวจสอบเนื้อหาตารางได้อย่างรวดเร็วเป็นสิ่งสำคัญอย่างยิ่ง
ในการพัฒนาและการดำเนินงานประจำวัน คุณมักต้องการข้อมูลเช่น “โครงสร้างของตารางเป็นอย่างไร?” หรือ “ประเภทคอลัมน์และข้อจำกัดคืออะไร?” อย่างไรก็ตาม หากคุณไม่คุ้นเคยกับ MySQL การตรวจสอบเนื้อหาและโครงสร้างของตารางอาจดูไม่ชัดเจนอย่างน่าประหลาดใจ
ในบทความนี้ เราจะอธิบายทุกอย่างตั้งแต่พื้นฐานของการตรวจสอบเนื้อหาและโครงสร้างของตารางใน MySQL ไปจนถึงคำสั่งที่ใช้บ่อยและเทคนิคขั้นสูง รวมถึงข้อผิดพลาดทั่วไปและการแก้ไขปัญหา คู่มือนี้มีข้อมูลที่เป็นประโยชน์สำหรับผู้เริ่มต้นและผู้ที่ใช้ MySQL อย่างสม่ำเสมอ—ดังนั้นกรุณาใช้เป็นอ้างอิง
2. ข้อกำหนดเบื้องต้น: วิธีเชื่อมต่อกับ MySQL
เพื่อตรวจสอบเนื้อหาและโครงสร้างของตาราง MySQL คุณต้องเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ก่อน ที่นี่เราจะอธิบายวิธีเข้าสู่ระบบ MySQL จากบรรทัดคำสั่ง (Terminal หรือ Command Prompt) และวิธีเลือกฐานข้อมูล
วิธีเข้าสู่ระบบ MySQL
เพื่อเชื่อมต่อกับ MySQL ให้ใช้คำสั่งต่อไปนี้
mysql -u username -p
แทนที่ “username” ด้วยชื่อผู้ใช้ MySQL ของคุณ เมื่อคุณรันคำสั่ง ระบบจะขอให้คุณใส่รหัสผ่าน—พิมพ์รหัสผ่านที่ถูกต้อง
เลือกฐานข้อมูล
หลังจากเข้าสู่ระบบสำเร็จ คุณจะเห็นพรอมต์ของ MySQL (mysql>) เพื่อเลือกฐานข้อมูลที่คุณต้องการทำงาน ให้พิมพ์คำสั่งต่อไปนี้
USE database_name;
หลังจากนี้ การดำเนินการต่อไปทั้งหมดจะทำงานกับฐานข้อมูลที่เลือกไว้
หากคุณลืมขั้นตอนนี้ คุณอาจได้รับข้อผิดพลาดเช่น “No database selected” ดังนั้นควรระมัดระวัง
วิธีแสดงรายการฐานข้อมูล
หากคุณต้องการดูรายการฐานข้อมูลที่มีอยู่บนเซิร์ฟเวอร์ คุณสามารถใช้คำสั่งต่อไปนี้
SHOW DATABASES;
คำสั่งนี้จะแสดงชื่อฐานข้อมูลทั้งหมดในรูปแบบรายการ ตามต้องการให้ยืนยันชื่อฐานข้อมูลเป้าหมายที่นี่และสลับโดยใช้ USE database_name;
3. ตรวจสอบรายการตาราง (แสดงรายการตาราง)
หลังจากเชื่อมต่อกับ MySQL และเลือกฐานข้อมูลเป้าหมาย คุณมักต้องการยืนยัน “มีตารางอะไรบ้าง” ที่นี่เราจะแนะนำวิธีพื้นฐานในการแสดงรายการตาราง รวมถึงเทคนิคที่เป็นประโยชน์เพื่อกรองให้เหลือเฉพาะตารางที่คุณต้องการ
คำสั่งพื้นฐานเพื่อแสดงรายการตาราง
เพื่อแสดงรายการตาราง ให้ใช้คำสั่งต่อไปนี้
SHOW TABLES;
การรันคำสั่งนี้จะแสดงรายการชื่อทุกตารางในฐานข้อมูลที่เลือกอยู่ในขณะนั้น
ตัวอย่างเช่น คุณอาจเห็นชื่อตารางเช่น “users”, “orders”, และ “products” แสดงเป็นแนวตั้ง
ตรวจสอบรายการตารางในฐานข้อมูลอื่น
หากคุณต้องการตรวจสอบรายการตารางของฐานข้อมูลอื่นที่ไม่ได้เลือกอยู่ในขณะนั้น ให้เขียนคำสั่งดังนี้
SHOW TABLES FROM database_name;
ด้วยวิธีนี้ คุณสามารถตรวจสอบตารางในฐานข้อมูลที่ระบุได้อย่างรวดเร็วโดยไม่ต้องสลับฐานข้อมูลด้วยคำสั่ง USE ทุกครั้ง
ค้นหา (กรอง) ชื่อตารางเฉพาะ
เมื่อมีตารางจำนวนมาก คุณอาจต้องการหาตารางเป้าหมายอย่างรวดเร็ว ในกรณีนั้นคุณสามารถกรองด้วยตัวเลือก LIKE
SHOW TABLES LIKE 'search_word%';
เช่น หากคุณต้องการแสดงเฉพาะตารางที่ขึ้นต้นด้วย “user” ให้ระบุเป็น SHOW TABLES LIKE 'user%';
นอกจากนี้ ขึ้นอยู่กับเวอร์ชันของ MySQL คุณอาจใช้เงื่อนไข SHOW TABLES WHERE ได้
SHOW TABLES WHERE Tables_in_database_name LIKE '%keyword%';
การแสดงรายการตารางเป็นการดำเนินการพื้นฐานของ MySQL แต่การใช้ความคิดเล็กน้อยสามารถเพิ่มประสิทธิภาพการจัดการและการค้นหาได้อย่างมาก
4. ตรวจสอบโครงสร้างตาราง (รายการคอลัมน์)
ก่อนตรวจสอบเนื้อหาในตาราง การเข้าใจว่า “คอลัมน์ใดบ้างที่มีอยู่และประเภทข้อมูลและข้อจำกัดใดที่ตั้งไว้” เป็นสิ่งสำคัญมาก การรู้โครงสร้างของตารางช่วยให้คุณดึงและแก้ไขข้อมูลได้อย่างถูกต้อง และยังช่วยป้องกันปัญหาระหว่างการพัฒนาระบบและการดำเนินงาน
Basic command: DESCRIBE (DESC)
คำสั่งที่ใช้บ่อยที่สุดในการตรวจสอบโครงสร้างของตารางคือ DESCRIBE คุณยังสามารถใช้รูปแบบย่อ DESC ได้เช่นกัน
DESCRIBE table_name;
or
DESC table_name;
เมื่อคุณรันคำสั่งนี้ MySQL จะแสดงรายการชื่อคอลัมน์, ประเภทข้อมูล, ข้อจำกัด NULL, ข้อมูลคีย์หลัก, และอื่น ๆ
รายการหลักที่แสดง:
- Field (ชื่อคอลัมน์)
- Type (ประเภทข้อมูล)
- Null (ว่าต้องอนุญาตให้เป็น NULL หรือไม่)
- Key (คีย์หลัก, คีย์ต่างประเทศ, ฯลฯ)
- Default (ค่าตั้งต้น)
- Extra (ข้อมูลเพิ่มเติม เช่น auto‑increment)
SHOW COLUMNS command
SHOW COLUMNS FROM table_name; แสดงเนื้อหาเกือบเดียวกับ DESCRIBE ขึ้นอยู่กับสถานการณ์ การใช้คำสั่งนี้ก็ถือว่าโอเคเช่นกัน
If you want more detailed information
หากคุณต้องการข้อมูลคอลัมน์ที่ละเอียดมากขึ้น ให้ใช้ SHOW FULL COLUMNS FROM table_name; ซึ่งรวมข้อมูลเพิ่มเติมเช่นการจัดเรียง (Collation) และสิทธิ์ (Privileges)
When table structure checks are useful
- เข้าใจ “คอลัมน์ใดบ้างที่มีอยู่” ระหว่างการพัฒนาใหม่หรือการบำรุงรักษา
- ตรวจสอบประเภทคอลัมน์, ความเป็น NULL, และข้อมูลคีย์หลักเมื่อสำรวจระบบที่มีอยู่หรือทำการบูรณาการข้อมูล
- ชัดเจนว่า “ประเภทข้อมูลใดจะถูกจัดเก็บ” เมื่อเขียนโค้ด
เพื่อให้การตรวจสอบเนื้อหาตารางทำได้อย่างปลอดภัยและแม่นยำ ให้เริ่มจากการยืนยันโครงสร้างของตารางก่อน
5. ตรวจสอบเนื้อหาตาราง (ข้อมูล)
เมื่อคุณเข้าใจโครงสร้างของตารางแล้ว ขั้นตอนต่อไปคือการตรวจสอบว่ามีข้อมูลอะไรบ้างที่ถูกจัดเก็บในตาราง ใน MySQL คุณสามารถดึงข้อมูลจากตารางได้อย่างง่ายดายโดยใช้คำสั่ง SELECT
View all data
หากคุณต้องการแสดงแถวทั้งหมดในตาราง ให้เขียนคิวรีดังนี้:
SELECT * FROM table_name;
การรันคำสั่งนี้จะแสดงแถวทั้งหมด (บันทึก) ในตาราง
อย่างไรก็ตาม หากตารางมีข้อมูลจำนวนมาก การแสดงทั้งหมดในครั้งเดียวอาจอ่านยาก—ดังนั้นควรระมัดระวัง
Select only the columns you need
หากคุณไม่ต้องการทุกคอลัมน์และต้องการดูเฉพาะข้อมูลบางส่วน ให้ระบุชื่อคอลัมน์ที่ต้องการดึงข้อมูล:
SELECT column1, column2 FROM table_name;
นี่จะแสดงเฉพาะคอลัมน์ที่ระบุ ทำให้การตรวจสอบหรือสรุปข้อมูลง่ายขึ้น
Filter data by conditions
หากคุณต้องการตรวจสอบเฉพาะข้อมูลที่ตรงกับเงื่อนไขบางอย่าง ให้ใช้เงื่อนไข WHERE:
SELECT * FROM table_name WHERE column_name = 'value';
ตัวอย่างเช่น หากคุณต้องการตรวจสอบ “เฉพาะผู้ใช้ที่มี id = 10” ในตาราง users ให้เขียนดังนี้:
SELECT * FROM users WHERE id = 10;
หากคุณต้องการค้นหาโดยใช้การจับคู่บางส่วน ให้ใช้ตัวดำเนินการ LIKE:
SELECT * FROM table_name WHERE column_name LIKE 'A%';
ในตัวอย่างนี้ จะมีการแสดงเฉพาะบันทึกที่ค่าคอลัมน์เริ่มต้นด้วย “A” เท่านั้น
Limit the number of rows returned (LIMIT clause)
หากตารางมีจำนวนแถวมากเป็นจำนวนมาก การจำกัดจำนวนผลลัพธ์ที่แสดงโดยใช้คลอส LIMIT ก็เป็นสิ่งสำคัญเช่นกัน:
SELECT * FROM table_name LIMIT 10;
นี่จะแสดงเฉพาะ 10 แถวแรก
นอกจากนี้ คุณสามารถใช้ OFFSET เพื่อระบุแถวที่เริ่มต้นจาก:
SELECT * FROM table_name LIMIT 10 OFFSET 20;
นี่จะดึงข้อมูล 10 แถว เริ่มจากแถวที่ 21 ซึ่งเป็นประโยชน์สำหรับการแบ่งหน้าและตรวจสอบชุดข้อมูลขนาดใหญ่
6. Get More Detailed Table Information
ใน MySQL มีคำสั่งไม่เพียงเพื่อตรวจสอบเนื้อหาและโครงสร้างของตารางเท่านั้น แต่ยังเพื่อดึงข้อมูลที่ละเอียดมากขึ้น ที่นี่เราจะอธิบายวิธีตรวจสอบสถานะตาราง รายละเอียดการสร้าง ขนาดตาราง และอื่น ๆ
Check table status (SHOW TABLE STATUS)
SHOW TABLE STATUS;
การรันคำสั่งนี้จะแสดงรายการข้อมูลเช่นต่อไปนี้สำหรับทุกตารางในฐานข้อมูลที่เลือกอยู่ในขณะนี้:
- ชื่อของตาราง (Name)
- เอนจิน (Engine)
- จำนวนแถว (Rows)
- ขนาดตาราง (Data_length, Index_length)
- เวลาสร้าง (Create_time)
- เวลาปรับปรุงล่าสุด (Update_time)
- การจัดเรียง (Collation) เป็นต้น.
หากคุณต้องการตรวจสอบเฉพาะตารางหนึ่ง ให้ระบุแบบนี้:
SHOW TABLE STATUS LIKE 'table_name';
SQL ที่ใช้สร้างตาราง (SHOW CREATE TABLE)
หากคุณต้องการทราบว่า “SQL ใดที่ใช้สร้างตารางนี้?” คำสั่ง SHOW CREATE TABLE มีประโยชน์:
SHOW CREATE TABLE table_name;
เมื่อทำการรัน มันจะส่งออกคำสั่ง CREATE TABLE ที่ใช้สร้างตารางนั้นอย่างแม่นยำ
คำสั่งนี้มีประโยชน์อย่างมากสำหรับการย้ายตาราง, การสำรองข้อมูล, และการสร้างตารางเดียวกันในสภาพแวดล้อมอื่น.
เมื่อข้อมูลตารางโดยละเอียดมีประโยชน์
- เข้าใจขนาดตารางและจำนวนแถวเพื่อการปรับปรุงประสิทธิภาพและการจัดการพื้นที่จัดเก็บ
- ตรวจสอบ DDL (คำนิยามตาราง) เป็นเอกสารอ้างอิงสำหรับการย้ายและการปรับโครงสร้างใหม่
- ตรวจสอบประเภทเอนจิน, ชุดอักขระ, และข้อมูลดัชนีเพื่อช่วยระบุสาเหตุของปัญหาระบบ
ด้วยการเชี่ยวชาญคำสั่งเหล่านี้ คุณสามารถขยายขอบเขตการทำงานใน MySQL และการแก้ปัญหาได้อย่างมาก.
7. การตรวจสอบผ่าน INFORMATION_SCHEMA (ขั้นสูง)
MySQL มีฐานข้อมูลพิเศษชื่อ INFORMATION_SCHEMA ซึ่งเก็บข้อมูลเมตาดาต้าหลากหลายประเภทเกี่ยวกับเซิร์ฟเวอร์ MySQL ทั้งหมด รวมถึงข้อมูลตาราง รายละเอียดคอลัมน์ ดัชนี สิทธิ์การเข้าถึง และอื่น ๆ ด้วยการใช้ฐานข้อมูลนี้ คุณสามารถดึงข้อมูลตารางและคอลัมน์ได้อย่างยืดหยุ่นและละเอียดมากขึ้น.
ดึงข้อมูลตารางโดยใช้ INFORMATION_SCHEMA
ตัวอย่างเช่น หากคุณต้องการดึงรายการชื่อของทุกตารางในฐานข้อมูลเฉพาะ คุณสามารถใช้ SQL ต่อไปนี้:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'database_name';
SQL นี้มีประโยชน์เมื่อคุณต้องการตรวจสอบตารางจำนวนมากด้วยเครื่องมือการจัดการหรือเก็บข้อมูลโดยอัตโนมัติด้วยสคริปต์.

ดึงข้อมูลคอลัมน์และดัชนี
คุณสามารถดึงข้อมูลคอลัมน์ได้ในลักษณะเดียวกัน:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'database_name'
AND TABLE_NAME = 'table_name';
คุณยังสามารถดึงรายละเอียดดัชนี, ข้อจำกัด, คีย์ต่างประเทศ, และเมตาดาต้าอื่น ๆ ได้อย่างง่ายดายโดยใช้ INFORMATION_SCHEMA.
ความสัมพันธ์กับ ANALYZE TABLE
สำหรับการปรับจูนประสิทธิภาพและการรีเฟรชสถิติ คำสั่ง ANALYZE TABLE จะถูกใช้
เมื่อคุณรันคำสั่งนี้ สถิติของตารางจะได้รับการอัปเดต และค่าทางสถิติที่ดึงจาก INFORMATION_SCHEMA (เช่น จำนวนแถวโดยประมาณ) จะแม่นยำยิ่งขึ้น.
ANALYZE TABLE table_name;
เมื่อควรใช้ INFORMATION_SCHEMA
- เมื่อคุณต้องการดึงข้อมูลหลายตารางหรือหลายคอลัมน์พร้อมกัน
- เมื่อทำการตรวจสอบโครงสร้างตารางและคอลัมน์ในกระบวนการแบบแบตช์หรือสคริปต์อัตโนมัติ
- เมื่อคุณต้องการข้อมูลโดยละเอียดเช่นดัชนี, คีย์ต่างประเทศ, หรือคอมเมนต์ของตาราง
INFORMATION_SCHEMA เป็นเครื่องมือที่ทรงพลังสำหรับทำความเข้าใจ MySQL อย่างลึกซึ้งและการดำเนินงานอย่างมีประสิทธิภาพ ใช้มันให้เต็มที่ในงานการจัดการประจำวันและการพัฒนาระบบ.
8. เครื่องมือ CLI และทางลัด
เมื่อทำการตรวจสอบเนื้อหาและโครงสร้างของตารางใน MySQL การรู้จักคำสั่งและตัวเลือกของ command-line interface (CLI) ที่สะดวกสามารถเพิ่มประสิทธิภาพการทำงานของคุณได้อย่างมาก ที่นี่เราจะแนะนำเครื่องมือ CLI ที่ใช้บ่อยและทางลัดที่เป็นประโยชน์.
คำสั่ง mysqlshow
MySQL มีเครื่องมือ CLI เฉพาะที่เรียกว่า mysqlshow
มันถูกออกแบบมาสำหรับการแสดงรายการฐานข้อมูลและตาราง และช่วยให้คุณตรวจสอบข้อมูลได้อย่างรวดเร็วโดยไม่ต้องเข้าสู่ MySQL แบบโต้ตอบ.
แสดงรายการฐานข้อมูล
mysqlshow -u username -p
แสดงตารางในฐานข้อมูลเฉพาะ
mysqlshow -u username -p database_name
แสดงข้อมูลคอลัมน์สำหรับตารางเฉพาะ
mysqlshow -u username -p database_name table_name
ด้วยคำสั่งสั้น ๆ เหล่านี้ คุณสามารถตรวจสอบโครงสร้างและการมีอยู่ได้อย่างรวดเร็ว ทำให้สะดวกสำหรับการจัดการเซิร์ฟเวอร์และการเขียนสคริปต์.
ทำให้ผลลัพธ์อ่านง่ายขึ้นด้วยตัวเลือก “\G”
โดยปกติเมื่อคุณรัน SQL ใน MySQL ผลลัพธ์จะแสดงในรูปแบบตารางแนวนอน อย่างไรก็ตาม หากมีหลายคอลัมน์หรือข้อมูลจำนวนมาก การใช้ “\G” จะทำให้ผลลัพธ์แสดงในแนวตั้ง ทำให้อ่านง่ายขึ้นมาก.
ตัวอย่างการใช้งาน
SELECT * FROM table_name\G
เมื่อเขียนในลักษณะนี้ แต่ละแถวจะถูกแสดงในแนวตั้ง โดยชื่อคอลัมน์และค่าจะแสดงเป็นคู่กัน สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อทำการตรวจสอบโครงสร้างตารางหรือทบทวนรายละเอียดของบันทึกเดียวอย่างละเอียด.
เทคนิค CLI ที่เป็นประโยชน์อื่น ๆ
- ใช้ประวัติคำสั่ง คุณสามารถใช้ปุ่มลูกศรขึ้นและลงเพื่อเรียกคำสั่งที่เคยรันก่อนหน้า ทำให้ไม่ต้องพิมพ์คำสั่งเดียวกันซ้ำหลายครั้ง.
- การเติมเต็มด้วย Tab เมื่อพิมพ์ชื่อเทเบิลหรือคอลัมน์ ให้กดปุ่ม Tab หลังจากพิมพ์ส่วนหนึ่งของชื่อเพื่อให้ระบบเติมเต็มอัตโนมัติ ช่วยลดข้อผิดพลาดจากการสะกดและการพิมพ์.
โดยการเชี่ยวชาญเครื่องมือและทางลัดของ CLI การทำงานกับ MySQL จะสะดวกและมีประสิทธิภาพมากขึ้น ลองนำไปใช้ในงานประจำวันและงานพัฒนาของคุณ.
9. ข้อผิดพลาดทั่วไปและวิธีแก้ไข
เมื่อทำการตรวจสอบเนื้อหาและโครงสร้างของตารางใน MySQL จะมีข้อผิดพลาดทั่วไปหลายอย่างที่ผู้เริ่มต้นและผู้ใช้ที่มีประสบการณ์เจออย่างน้อยหนึ่งครั้ง ที่นี่เราจะอธิบายข้อผิดพลาดทั่วไป สาเหตุของมัน และวิธีแก้ไขอย่างชัดเจน.
ไม่ได้เลือกฐานข้อมูล
ข้อความแสดงข้อผิดพลาด
ERROR 1046 (3D000): No database selected
สาเหตุและวิธีแก้
ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามทำงานกับตารางโดยไม่ได้เลือกฐานข้อมูลก่อน ตรวจสอบให้แน่ใจว่าได้ระบุฐานข้อมูลเป้าหมายล่วงหน้าด้วยการใช้:
USE database_name;
ฐานข้อมูลไม่รู้จัก
ข้อความแสดงข้อผิดพลาด
ERROR 1049 (42000): Unknown database 'database_name'
สาเหตุและวิธีแก้
เหตุการณ์นี้เกิดขึ้นเมื่อฐานข้อมูลที่ระบุไม่มีอยู่ สาเหตุทั่วไปรวมถึงการสะกดผิด การใช้ตัวพิมพ์ใหญ่/เล็กไม่ถูกต้อง หรือฐานข้อมูลยังไม่ได้สร้าง ใช้คำสั่งต่อไปนี้เพื่อยืนยันชื่อที่ถูกต้อง:
SHOW DATABASES;
ข้อผิดพลาดเรื่องสิทธิ์ (ไม่มีผลลัพธ์แสดงเมื่อใช้ SHOW TABLES / SHOW COLUMNS)
สถานการณ์ตัวอย่าง
- ไม่ปรากฏตารางใดเมื่อรัน SHOW TABLES
- ไม่แสดงข้อมูลใดเมื่อรัน SHOW COLUMNS
สาเหตุและวิธีแก้
เกิดขึ้นเมื่อผู้ใช้ MySQL ไม่มีสิทธิ์เพียงพอสำหรับฐานข้อมูลหรือเทเบิลนั้น ขอให้ผู้ดูแลระบบ (เช่นผู้ใช้ root) มอบสิทธิ์ที่จำเป็น หรือกำหนดสิทธิ์โดยใช้คำสั่ง GRANT ที่เหมาะสม.
คืนค่ามากเกินไป ทำให้ผลลัพธ์อ่านยาก
สถานการณ์ตัวอย่าง
- การรัน
SELECT * FROM table_name;ทำให้แสดงผลหลายหมื่นแถวพร้อมกัน
วิธีแก้
ใช้เงื่อนไข LIMIT เพื่อลดจำนวนแถวที่คืนค่า ตัวอย่าง:
SELECT * FROM table_name LIMIT 10;
ชื่อเทเบิลหรือคอลัมน์สะกดผิด
สถานการณ์ตัวอย่าง
- คอลัมน์ ‘column_name’ ไม่รู้จักใน ‘field list’
- ตาราง ‘database_name.table_name’ ไม่อยู่
วิธีแก้
เพื่อหลีกเลี่ยงการสะกดผิด ให้ใช้ SHOW TABLES, SHOW COLUMNS หรือฟีเจอร์การเติมเต็มด้วย Tab ใน CLI.
ส่วนใหญ่ของข้อผิดพลาดเหล่านี้สามารถหลีกเลี่ยงได้โดยการตรวจสอบพื้นฐานอย่างระมัดระวัง เมื่อเกิดปัญหา ให้ตรวจสอบจุดที่กล่าวมาข้างต้นทีละขั้นตอน.
10. สรุป
มีวิธีการหลายแบบสำหรับการดำเนินการพื้นฐานของ “การตรวจสอบเนื้อหาตาราง” ใน MySQL ในบทความนี้ เราได้ครอบคลุมทุกอย่างตั้งแต่การแสดงรายการตารางและตรวจสอบโครงสร้างตารางโดยละเอียด ไปจนถึงการดึงข้อมูลจริง รวมถึงการรับข้อมูลเมตาแบบขั้นสูงและข้อมูลการจัดการโดยละเอียด.
- ใช้ SHOW TABLES เพื่อแสดงรายการตาราง,
- ใช้ DESCRIBE (DESC) หรือ SHOW COLUMNS เพื่อตรวจสอบข้อมูลคอลัมน์และโครงสร้าง,
- ใช้คำสั่ง SELECT เพื่อดึงข้อมูลจริง,
- ใช้ SHOW TABLE STATUS, SHOW CREATE TABLE, และ INFORMATION_SCHEMA เพื่อตรวจสอบข้อมูลการจัดการโดยละเอียดและ DDL เมื่อจำเป็น,
- และปรับปรุงประสิทธิภาพการพัฒนาและการดำเนินงานประจำวันด้วยเครื่องมือ CLI, ทางลัด, และความรู้การแก้ปัญหา.
โดยการเชี่ยวชาญเทคนิคเหล่านี้ การดำเนินงานฐานข้อมูล MySQL จะปลอดภัยและเชื่อถือได้มากขึ้น และข้อผิดพลาดหรือปัญหาต่าง ๆ สามารถลดลงได้ เนื้อหานี้เป็นประโยชน์สำหรับผู้เริ่มต้น ผู้ใช้ระดับกลาง และผู้เชี่ยวชาญที่ทำงานในสภาพแวดล้อมจริง นำเทคนิคเหล่านี้ไปใช้ในการพัฒนาและงานดูแลระบบของคุณในอนาคต.
11. คำถามที่พบบ่อย (FAQ)
Q1. ฉันจะตรวจสอบข้อมูลตารางโดยใช้เงื่อนไขเฉพาะได้อย่างไร?
A:
ใช้เงื่อนไข WHERE ดังนี้:
SELECT * FROM table_name WHERE condition;
ตัวอย่างเช่น:
SELECT * FROM users WHERE age > 30;
นี่จะดึงเฉพาะผู้ใช้ที่อายุเกิน 30 ปี คุณยังสามารถรวมกับเงื่อนไข LIMIT เพื่อควบคุมจำนวนแถวที่แสดงได้.
Q2. ฉันใช้คำสั่ง SHOW TABLES แต่ไม่มีตารางปรากฏ ทำไม?
A:
สาเหตุที่เป็นไปได้ ได้แก่:
(1) คุณไม่ได้เลือกฐานข้อมูล (USE database_name; ขาดหาย),
(2) ชื่อฐานข้อมูลที่ระบุไม่ถูกต้อง,
(3) สิทธิ์ไม่เพียงพอ.
ใช้ SHOW DATABASES; เพื่อตรวจสอบชื่อฐานข้อมูลและตรวจสอบว่าคุณมีสิทธิ์ที่เหมาะสมหรือไม่.
Q3. ฉันจะดูโครงสร้างตารางในรูปแบบ DDL (คำสั่ง CREATE) ได้อย่างไร?
A:
รันคำสั่งต่อไปนี้:
SHOW CREATE TABLE table_name;
มันจะแสดงคำสั่ง CREATE TABLE ที่ใช้สร้างตารางอย่างแม่นยำ ซึ่งเป็นประโยชน์สำหรับการย้ายตารางและการสำรองข้อมูล.
Q4. มีข้อมูลในตารางมากเกินไปจนไม่สามารถดูทั้งหมดได้ในครั้งเดียว.
A:
ใช้เงื่อนไข LIMIT:
SELECT * FROM table_name LIMIT 10;
คุณยังสามารถรวมกับ OFFSET เพื่อตรวจสอบช่วงข้อมูลเฉพาะอย่างเป็นขั้นตอนได้.
Q5. INFORMATION_SCHEMA คืออะไรและควรใช้เมื่อใด?
A:
INFORMATION_SCHEMA เป็นฐานข้อมูลพิเศษที่เก็บเมตาดาต้าของ MySQL ซึ่งมีประโยชน์อย่างยิ่งเมื่อคุณต้องการดึงหรือจัดการข้อมูลจำนวนมากเกี่ยวกับตาราง, คอลัมน์, ดัชนี หรือสิทธิ์ เนื่องจากสามารถสอบถามโดยตรงด้วย SQL ทำให้เหมาะสำหรับการทำอัตโนมัติและการรายงาน.
Q6. ฉันจะแสดงผลลัพธ์ในแนวตั้งได้อย่างไร?
A:
เพิ่ม “\G” ที่ส่วนท้ายของคำสั่ง SQL ของคุณ
ตัวอย่าง:
SELECT * FROM table_name\G
มันจะแสดงแต่ละบันทึกในแนวตั้ง โดยแสดงชื่อคอลัมน์และค่าต่าง ๆ ในรูปแบบคู่ที่อ่านง่าย.

