1.使用 CREATE OR REPLACE VIEW 语句修改视图
在 MySQL 中,使用 CREATE OR REPLACE VIEW 语句修改视图,其基本语法格式如下所示:
CREATE [OR REPLACE][ALGORITHM ={UNDEFINED|MERGE|TEMPTABLE}]
VIEW view_name[(column_list)]
AS SELECT_statement
[WITH[CASCADED|LOCAL] CHECK OPTION]
在使用 CREATE OR REPLACE VIEW 语句修改视图时,如果修改的视图存在,那么将使用修改语句对视图进行修改,如果视图不存在,那么将创建一个视图。
例如,使用 CREATE OR REPLACE VIEW 语句修改 view_stu 视图,SQL 语句如下所示:
CREATE OR REPLACE VIEW view_stu AS SELECT * FROM student;
上述语法格式中,“view_stu”表示要修改的视图的名称,“*”是通配符表示表中所有字段,“student”指基本表的表名。
在修改视图之前,首先通过 DESC 语句查看修改之前的 view_stu 视图和 student 表中的字段信息,查询结果如下所示:
view stu视图的查询结果如下所示:
mysql> DESC view_stu;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| math | float | YES | | NULL | |
| chinese | float | YES | | NULL | |
| math+chinese | double | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
student 视图的查询结果如下所示:
mysql> DESC student;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| s_id | int(3) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| math | float | YES | | NULL | |
| chinese | float | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
对 view_stu 视图进行修改,SQL 语句如下所示:
CREATE OR REPLACE VIEW view_tu AS SELECT * FROM student;
上述 SQL 语句执行成功后,使用 DESC 语句査看修改后的 view_st 视图,执行结果如下所示:
mysql> DESC view_stu;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| s_id | int(3) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| math | float | YES | | NULL | |
| chinese | float | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
上述执行结果显示了 view_stu 视图修改后的字段信息,修改后的字段信息和student 表中的字段信息完全相同。
2.使用 ALTER 语句修改视图
ALTER 语句是 MySQL 提供的另外一种修改视图的方法,使用 ALTER 语句修改图的基本语法格式如下所示:
ALTER [ALGORITHM ={UNDEFINED | MERGE | TEMPTABLE }]
VIEW view_name [(column iist)]
As SELECT_statement
[WITH[CASCADED |LOCAL] CHECK OPTION]
例如,使用 ALTER 语句修改 view_stu 视图,SQL 语句如下所示:
ALTER VIEW view_stu AS SELECT chinese FROM student;
上述语句中,“view_stu”表示要修改的视图的名称,“chinese”表示 student 表中的chinese 字段,“student”为基本表的表名。
执行修改 view_stu 视图的 SQL 语句,执行成功后使用 DESC 语句查看修改后的view_stu 视图,执行结果如下所示:
mysql> ALTER VIEW view_stu AS SELECT chinese FROM student;
Query OK, 0 rows affected (0.00 sec)
mysql> DESC view_stu;
+---------+-------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------+------+-----+---------+-------+
| chinese | float | YES | | NULL | |
+---------+-------+------+-----+---------+-------+
1 row in set (0.01 sec)
上述执行结果显示了 view_stu 视图修改后的信息,我们看到使用 ALTER 语句修改后的 view_stu 视图中只剩下一个 chinese 字段。
标签:语句,修改,视图,stu,MySQL,YES,view From: https://blog.csdn.net/W_Fe5/article/details/141956046