MySQL 如何修改MySQL视图的定义而不需要删除它?
借助ALTER VIEW语句,我们可以修改MySQL视图的定义。在这种情况下,我们无需将其删除。语法如下 –
阅读更多:MySQL 教程
语法
ALTER VIEW view_name AS
SELECT column1,column2…
FROM table
WHERE conditions;
示例
为了说明这一点,我们正在修改名为’Info’的视图的定义,其中包含以下数据 –
mysql> Select * from Info;
+------+---------+------------+
| Id | Name | Subject |
+------+---------+------------+
| 101 | YashPal | History |
| 105 | Gaurav | Literature |
| 125 | Raman | Computers |
| 130 | Ram | Computers |
+------+---------+------------+
4 rows in set (0.01 sec)
现在,假设我们想要在此视图中添加一列,则可以使用ALTER VIEW语句完成,如下所示 –
mysql> Alter view info AS SELECT ID, NAME, SUBJECT, ADDRESS from student_info;
Query OK, 0 rows affected (0.07 sec)
mysql> Select * from info;
+------+---------+------------+------------+
| ID | NAME | SUBJECT | ADDRESS |
+------+---------+------------+------------+
| 101 | YashPal | History | Amritsar |
| 105 | Gaurav | Literature | Chandigarh |
| 125 | Raman | Computers | Shimla |
| 130 | Ram | Computers | Jhansi |
+------+---------+------------+------------+
4 rows in set (0.00 sec)
上面的结果集显示,已向视图’Info’添加了ADDRESS列。