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

Tạo thủ tục liệt kê bảng với thông tin chi tiết trong database MySQL

Giả sử database query có 2 bảng:

mysql> SHOW TABLES IN query;
+-----------------+
| Tables_in_query |
+-----------------+
| student_detail  |
| student_info    |
+-----------------+

Tạo thủ tục tablelist() lấy thông tin chi tiết từ information_schema.tables:

mysql> DELIMITER//
mysql> CREATE PROCEDURE tablelist()
    -> BEGIN
    -> SELECT * FROM information_schema.tables WHERE table_schema = 'query';
    -> END //
Query OK, 0 rows affected (0.06 sec)

Gọi thủ tục (dùng \G để hiển thị dọc):

mysql> CALL tablelist()\G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: query
TABLE_NAME: student_detail
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: 10
ROW_FORMAT: Dynamic
TABLE_ROWS: 4
AVG_ROW_LENGTH: 4096
DATA_LENGTH: 16384
...
*************************** 2. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: query
TABLE_NAME: student_info
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
...

Trả về đầy đủ metadata: engine, row format, số dòng, dung lượng, collation, thời gian tạo...