13.7.5.13 SHOW CREATE VIEW 语句
SHOW CREATE VIEW view_name

此语句显示了创建命名视图的CREATE VIEW语句。

mysql> SHOW CREATE VIEW v\G
*************************** 1. row ***************************
                View: v
         Create View: CREATE ALGORITHM=UNDEFINED
                      DEFINER=`bob`@`localhost`
                      SQL SECURITY DEFINER VIEW
                      `v` AS select 1 AS `a`,2 AS `b`
character_set_client: utf8
collation_connection: utf8_general_ci

character_set_client是 character_set_client系统 变量。collation_connection 是 collation_connection系统 变量。

使用SHOW CREATE VIEW需要SHOW VIEW 权限 和 所讨论视图的 SELECT 权限

视图信息也可从 INFORMATION_SCHEMA VIEWS 表中获得。参见第 24.3.31 节“INFORMATION_SCHEMA VIEWS 表”。

MySQL允许您使用不同的sql_mode设置来告诉服务器要支持的sql语法类型。例如,您可以使用ANSI SQL模式来确保MySQL在查询中正确解释标准SQL连接运算符双杠(||)。如果您随后创建了一个连接项目的视图,您可能会担心将sql_mode设置更改为不同于ANSI的值会导致视图无效。但事实并非如此。无论你如何编写视图定义,MySQL总是以规范的形式以相同的方式存储它。以下是一个示例,显示了服务器如何将双杠连接运算符更改为CONCAT()函数:

mysql> SET sql_mode = 'ANSI';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE VIEW test.v AS SELECT 'a' || 'b' as col1;
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW CREATE VIEW test.v\G
*************************** 1. row ***************************
                View: v
         Create View: CREATE VIEW "v" AS select concat('a','b') AS "col1"
...
1 row in set (0.00 sec)