คำสั่งเดียวแสดงโครงสร้างทุกตารางใน Database
ใช้ INFORMATION_SCHEMA.COLUMNS กรองด้วย TABLE_SCHEMA
รูปแบบคำสั่ง (Syntax)
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_database_name'\G
\G = แสดงผลแนวตั้ง (Vertical format) อ่านง่ายกว่าตาราง
ตัวอย่าง: Database 'sample' มี 2 ตาราง (mytable, yourtable)
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'sample'\G
ผลลัพธ์ (สรุป):
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: sample
TABLE_NAME: mytable
COLUMN_NAME: id
ORDINAL_POSITION: 1
COLUMN_DEFAULT: NULL
IS_NULLABLE: YES
DATA_TYPE: int
CHARACTER_MAXIMUM_LENGTH: NULL
NUMERIC_PRECISION: 10
COLUMN_TYPE: int(11)
COLUMN_KEY:
EXTRA:
PRIVILEGES: select,insert,update,references
COLUMN_COMMENT:
*************************** 2. row ***************************
TABLE_NAME: mytable
COLUMN_NAME: Name
DATA_TYPE: varchar
CHARACTER_MAXIMUM_LENGTH: 100
COLUMN_TYPE: varchar(100)
COLLATION_NAME: utf8mb4_0900_ai_ci
*************************** 3. row ***************************
TABLE_NAME: yourtable
COLUMN_NAME: id
DATA_TYPE: int
COLUMN_TYPE: int(11)
*************************** 4. row ***************************
TABLE_NAME: yourtable
COLUMN_NAME: YourName
DATA_TYPE: varchar
CHARACTER_MAXIMUM_LENGTH: 100
COLUMN_TYPE: varchar(100)
COLLATION_NAME: utf8mb4_0900_ai_ci
คอลัมน์สำคัญที่ควรดู
| Column | ความหมาย |
|---|---|
| TABLE_NAME | ชื่อตาราง |
| COLUMN_NAME | ชื่อคอลัมน์ |
| ORDINAL_POSITION | ลำดับคอลัมน์ (1,2,3...) |
| DATA_TYPE | ชนิดข้อมูล (int, varchar, datetime...) |
| COLUMN_TYPE | ชนิดข้อมูลพร้อมขนาด (varchar(100), int(11)) |
| IS_NULLABLE | YES/NO - อนุญาต NULL หรือไม่ |
| COLUMN_DEFAULT | ค่า Default |
| COLUMN_KEY | PRI, UNI, MUL - Primary, Unique, Index |
| EXTRA | auto_increment, on update CURRENT_TIMESTAMP ฯลฯ |
| COLLATION_NAME | Collation ของคอลัมน์ |