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.