Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Mô tả (DESCRIBE) tất cả bảng trong database bằng 1 câu lệnh MySQL?

Truy vấn INFORMATION_SCHEMA.COLUMNS lọc theo TABLE_SCHEMA.

Cú pháp (dùng \G để hiển thị dọc dễ đọc):

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'ten_database'\G

Ví dụ với database sample có 2 bảng mytable, yourtable:

mysql> SELECT * FROM information_schema.columns WHERE table_schema = 'sample'\G

Kết quả (mỗi cột là 1 record, hiển thị dọc):

*************************** 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
COLUMN_TYPE: int(11)
COLUMN_KEY:
EXTRA:
PRIVILEGES: select,insert,update,references
COLUMN_COMMENT:
GENERATION_EXPRESSION:
SRS_ID: NULL
*************************** 2. row ***************************
... (cột Name của mytable)
*************************** 3. row ***************************
... (cột id của yourtable)
*************************** 4. row ***************************
... (cột YourName của yourtable)

Cột quan trọng: TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY (PRI, UNI, MUL), EXTRA (auto_increment...).

Lợi ích: Xem cấu trúc toàn database một lần, so sánh schema, generate code/entity, audit.