MySQL - SHOW CREATE VIEW 语句
MySQL SHOW CREATE VIEW 语句
MySQL 视图是以预定义 SQL 查询形式组成的表。它与关联的名称一起存储在数据库中。
MySQL SHOW CREATE VIEW 语句显示用于创建指定视图的 CREATE VIEW 语句。
语法
以下是 ALTER VIEW 语句的语法
SHOW CREATE VIEW name
其中,name 是需要 CREATE 语句的视图的名称。
示例
假设我们使用 CREATE 语句创建了一个名为 dispatches_data 的表,如下所示 -
CREATE TABLE dispatches_data( ProductName VARCHAR(255), CustomerName VARCHAR(255), DispatchTimeStamp timestamp, Price INT, Location VARCHAR(255) );
现在,让我们在 dispatches_data 表中插入一些记录 -
Insert into dispatches_data values ('Key-Board', 'Raja', TIMESTAMP('2019-05-04', '15:02:45'), 7000, 'Hyderabad'), ('Earphones', 'Roja', TIMESTAMP('2019-06-26', '14:13:12'), 2000, 'Vishakhapatnam'), ('Mouse', 'Puja', TIMESTAMP('2019-12-07', '07:50:37'), 3000, 'Vijayawada'), ('Mobile', 'Vanaja' , TIMESTAMP ('2018-03-21', '16:00:45'), 9000, 'Chennai'), ('Headset', 'Jalaja' , TIMESTAMP('2018-12-30', '10:49:27'), 6000, 'Goa');
假设我们已经使用 CREATE VIEW 语句创建了一个视图,如下所示 -
CREATE VIEW testView AS SELECT * FROM dispatches_data;
您可以使用 SHOW CREATE VIEW 语句检索上述创建的视图的定义,如下所示 -
SHOW CREATE VIEW testView\G;
输出
上述 mysql 查询产生以下输出 -
************** 1. row ************** View: testview Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `testview` AS select `dispatches_data`.`ProductName` AS `ProductName`, `dispatches_data`.`CustomerName` AS `CustomerName`, `dispatches_data`.`DispatchTimeStamp` AS `DispatchTimeStamp`,`dispatches_data`.`Price` AS `Price`,`dispatches_data`.`Location` AS `Location` from `dispatches_data` character_set_client: cp850 collation_connection: cp850_general_ci
以下查询会修改表的算法 -
ALTER ALGORITHM=MERGE VIEW testView AS SELECT * FROM dispatches_data;
如果在修改表后检索上述创建的视图的定义,您可以观察到算法的名称 -
SHOW CREATE VIEW testView\G;
输出
执行上述查询后,将生成以下输出 -
************** 1. row ************** View: testview Create View: CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `testview` AS select `dispatches_data`.`ProductName` AS `ProductName`, `dispatches_data`.`CustomerName` AS `CustomerName`, `dispatches_data`.`DispatchTimeStamp` AS `DispatchTimeStamp`,`dispatches_data`.`Price` AS `Price`,`dispatches_data`.`Location` AS `Location` from `dispatches_data` character_set_client: cp850 collation_connection: cp850_general_ci