Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Describe ทุกตารางใน Database ด้วย INFORMATION_SCHEMA.COLUMNS

คำสั่งเดียวแสดงโครงสร้างทุกตารางใน 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

คอลัมน์สำคัญที่ควรดู

Query แบบสรุปเฉพาะที่ต้องการ

SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY, COLUMN_DEFAULT, EXTRA
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_db'
ORDER BY TABLE_NAME, ORDINAL_POSITION;
Columnความหมาย
TABLE_NAMEชื่อตาราง
COLUMN_NAMEชื่อคอลัมน์
ORDINAL_POSITIONลำดับคอลัมน์ (1,2,3...)
DATA_TYPEชนิดข้อมูล (int, varchar, datetime...)
COLUMN_TYPEชนิดข้อมูลพร้อมขนาด (varchar(100), int(11))
IS_NULLABLEYES/NO - อนุญาต NULL หรือไม่
COLUMN_DEFAULTค่า Default
COLUMN_KEYPRI, UNI, MUL - Primary, Unique, Index
EXTRAauto_increment, on update CURRENT_TIMESTAMP ฯลฯ
COLLATION_NAMECollation ของคอลัมน์