仅在 MySQL 中视图不存在时才创建视图?
mysqlmysqli database
若要仅在视图不存在时才创建视图,可以使用以下语法 −
CREATE OR REPLACE VIEW yourViewName AS SELECT *FROM yourTableName;
为了理解上述语法,让我们创建一个表。
创建表的查询如下 −
mysql> create table createViewDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.58 sec)
使用 insert 在表中插入一些记录 command.
查询如下 −
mysql> insert into createViewDemo(Name) values('John'); Query OK, 1 row affected (0.22 sec) mysql> insert into createViewDemo(Name) values('Carol'); Query OK, 1 row affected (0.15 sec) mysql> insert into createViewDemo(Name) values('Bob'); Query OK, 1 row affected (0.15 sec) mysql> insert into createViewDemo(Name) values('Sam'); Query OK, 1 row affected (0.14 sec)
使用 select 语句显示表中的所有记录。
查询如下 −
mysql> select *from createViewDemo;
这是输出 −
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | Carol | | 3 | Bob | | 4 | Sam | +----+-------+ 4 rows in set (0.00 sec)
以下查询仅在视图不存在时才创建视图 −
mysql> CREATE OR REPLACE VIEW New_ViewDemo AS select *from createViewDemo; Query OK, 0 rows affected (0.13 sec)
让我们检查一下视图的记录。
查询如下 −
mysql> select *from New_ViewDemo;
以下是输出 −
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | Carol | | 3 | Bob | | 4 | Sam | +----+-------+ 4 rows in set (0.02 sec)