MySQL Show View

摘要:在本教程中,您将学习如何使用SHOW FULL TABLE语句或从数据字典查询信息来显示 MySQL 数据库中的所有视图。

MySQL 显示视图 – 使用SHOW FULL TABLES语句

MySQL 将视图视为类型为'VIEW'的表。因此,要显示当前数据库中的所有视图,请使用SHOW FULL TABLES语句,如下所示:

SHOW FULL TABLES 
WHERE table_type = 'VIEW';
Code language: SQL (Structured Query Language) (sql)

由于SHOW FULL TABLES语句同时返回表和视图,因此您需要添加WHERE子句以仅获取视图。

如果要显示另一个数据库的所有视图,可以使用FROMIN子句,如下所示:

SHOW FULL TABLES
[{FROM | IN } database_name]
WHERE table_type = 'VIEW';
Code language: SQL (Structured Query Language) (sql)

在此语法中,您可以在FROMIN子句之后指定要从中获取视图的数据库名称。

例如,以下语句显示sys数据库中的所有视图:

SHOW FULL TABLES IN sys 
WHERE table_type='VIEW';
Code language: SQL (Structured Query Language) (sql)

如果要获取与模式匹配的视图,可以使用LIKE子句,如下所示:

SHOW FULL TABLES
[{FROM | IN } database_name]
LIKE pattern;
Code language: SQL (Structured Query Language) (sql)

以下语句使用LIKE子句从sys数据库中查找名称以waits开头的所有视图:

SHOW FULL TABLES 
FROM sys
LIKE 'waits%';
Code language: SQL (Structured Query Language) (sql)

这是输出:

mysql 显示视图

请注意, SHOW TABLES语句仅返回您有权访问的视图。

MySQL Show View – 使用INFORMATION_SCHEMA数据库

INFORMATION_SCHEMA数据库提供对 MySQL 数据库元数据的访问,例如数据库、表、列的数据类型或权限。

INFORMATION_SCHEMA有时称为数据库字典或系统目录。

要显示数据库的视图,您可以使用INFORMATION_SCHEMA中的tables 表。

SELECT * 
FROM information_schema.tables;
Code language: SQL (Structured Query Language) (sql)

这是部分输出:

与视图相关的列是:

  • table_schema列存储视图(或表)的架构或数据库。
  • table_name列存储视图(或表)的名称。
  • table_type列存储表的类型:表的BASE TABLE 、视图的VIEWINFORMATION_SCHEMA表的SYSTEM VIEW

例如,此查询返回classicmodels数据库中的所有视图:

SELECT 
    table_name view_name
FROM 
    information_schema.tables 
WHERE 
    table_type   = 'VIEW' AND 
    table_schema = 'classicmodels';
Code language: SQL (Structured Query Language) (sql)

要查找与模式匹配的视图,请使用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%';
Code language: SQL (Structured Query Language) (sql)

概括

  • SHOW FULL TABLEtype_type VIEW结合使用可返回当前数据库中的所有视图。
  • 使用SHOW FULL TABLE FROM (或IN )语句获取指定数据库中的所有视图。
  • LIKE子句添加到SHOW FULL TABLE语句中以获取与模式匹配的视图。
  • 从表information_schema.tables中查询数据以获取数据库中的视图。
本教程有帮助吗?