1. 用 DESCRIBE 语句查看视图的基本信息
语法如下:
DESCRIBE 视图名;
【注】 DESCRIBE 可以简写为 DESC
【例】查看视图 view_t 的定义,SQL语句如下:
mysql> DESC view_t;
+-----------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+------------+------+-----+---------+-------+
| quantity | int(11) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| quantity *price | bigint(21) | YES | | NULL | |
+-----------------+------------+------+-----+---------+-------+
2. 用 SHOW TABLE STATUS 语句查看视图的基本信息
语法如下:
SHOW TABLE STATUS LIKE ‘视图名’;
【例】用 SHOW TABLE STATUS 语句查看视图信息,SQL语句如下:
mysql> SHOW TABLE STATUS LIKE 'view_t' \G
*************************** 1. row ***************************
Name: view_t
Engine: NULL
Version: NULL
Row_format: NULL
Rows: NULL
Avg_row_length: NULL
Data_length: NULL
Max_data_length: NULL
Index_length: NULL
Data_free: NULL
Auto_increment: NULL
Create_time: NULL
Update_time: NULL
Check_time: NULL
Collation: NULL
Checksum: NULL
Create_options: NULL
Comment: VIEW
comment 的值为 view 说明该表为视图,其他的信息为 NULL 说明这是一个虚表。
用同样的语句查看数据表 t 的信息,结果如下:
mysql> SHOW TABLE STATUS LIKE 't' \G
*************************** 1. row ***************************
Name: t
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2018-05-16 11:42:05
Update_time: 2018-05-16 11:42:11
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
3. 用 SHOW CREATE VIEW 语句查看视图的详细信息
语法如下:
SHOW CREATE VIEW 视图名;
【例】 用 SHOW CREATE VIEW 查看视图的详细定义, SQL语句如下;
mysql> SHOW CREATE VIEW view_t \G
*************************** 1. row ***************************
View: view_t
Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `view_t` AS select `t`.`quantity` AS `quantity`,`t`.`price` AS `price`,(`t`.`quantity` * `t`.`price`) AS `quantity *price` from `t`
character_set_client: utf8
collation_connection: utf8_general_ci
4. 在 views 表中查看视图的详细信息
在 MySQL 中,information_schema 数据库下的 views 表中存储了所有视图的定义。通过对 views 表的查询,可以查看数据库中所有视图的详细信息。
查询语句如下:
SELECT * FROM information_schema.views;
【注】参考于清华大学出版社《MySQL数据库应用案例课堂》2016年1月第1版