MySQL查看视图
简介:在本教程中,您将学习如何使用SHOW FULL TABLE语句或从数据字典中查询信息来显示MySQL数据库中的所有视图。
MySQL Show View –使用SHOW FULL TABLES语句
要显示当前数据库中的所有视图,请使用SHOW FULL TABLES语句,如下所示:
SHOW FULL TABLES WHERE table_type = 'VIEW';
由于SHOW FULL TABLES语句返回表和视图,因此您需要添加WHERE子句以仅获取视图。
如果要显示另一个数据库的所有视图,请使用以下语法:
SHOW FULL TABLES [{FROM | IN } database_name] WHERE table_type = 'VIEW';
在此语句中,在FROM或IN子句之后,指定要从中显示视图的数据库的名称。
以下示例显示了sys数据库中的所有视图:
SHOW FULL TABLES IN sys WHERE table_type='VIEW';
如果要基于模式获取视图,则可以使用LIKE子句,如下所示:
SHOW FULL TABLES [{FROM | IN } database_name] LIKE pattern;
本示例使用LIKE子句从sys数据库中查找所有视图,其名称以waits开头:
SHOW FULL TABLES FROM sys LIKE 'waits%';
这是输出:
请注意,如果您没有视图的特权,则该视图将不会显示在SHOW TABLES语句的输出中。
MySQL Show View –使用INFORMATION_SCHEMA数据库
INFORMATION_SCHEMA数据库提供对MySQL数据库元数据的访问,例如数据库名称,表名称,列的数据类型或特权。
INFORMATION_SCHEMA有时称为数据库字典或系统目录。
要显示数据库的视图,请使用INFORMATION_SCHEMA中的表表。
SELECT * FROM information_schema.tables;
这是部分输出:
在此输出中,我们仅对table_schema,table_name,table_type的三列感兴趣:
table_schema列存储视图(或表)的架构或数据库。
table_name列存储视图(或表)的名称。
table_type列存储表的类型:表的基本表,视图的VIEW或信息表的SYSTEM VIEW。
该查询从classicmodels数据库返回所有视图:
SELECT table_name view_name FROM information_schema.tables WHERE table_type = 'VIEW' AND table_schema = 'classicmodels';
要基于模式查找特定视图,请使用table_name列。
例如,此查询查找名称以customer开头的所有视图:
SELECT table_name view_name FROM information_schema.tables WHERE table_type = 'VIEW' AND table_schema = 'classicmodels' AND table_name LIKE 'customer%';
在本教程中,您学习了如何在MySQL数据库服务器中显示数据库视图。