本文为您介绍如何修改普通视图的定义。
语法
ALTER VIEW view_name [(column_name_list)] AS select_stmt;
column_name_list:
column_name [, column_name ...]
参数解释
| 参数 | 描述 |
|---|---|
| select_stmt | 是一种 SELECT 语句。它给出了视图的定义。该语句可以从基表或其他视图进行选择。 |
| column_name_list | 视图必须具有唯一的列名,不得有重复,就像基表那样。缺省情况下,由 SELECT 语句检索的列名将用作视图列名。 要想为视图列定义明确的名称,可使用可选的 column_name_list 子句,列出由逗号隔开的 ID。column_name_list 中的名称数目必须等于 SELECT语句检索的列数。 SELECT 语句检索的列可以是对表列的简单引用。也可以是使用函数、常量值、操作符等的表达式。 |
示例
查看视图
v的结构。obclient> DESC v; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(256) | YES | | NULL | | | date | date | YES | | NULL | | | age | int(11) | YES | | NULL | | | sex | varchar(256) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 5 rows in set查看视图
v的创建。obclient> show create table v\G *************************** 1. row *************************** View: v Create View: CREATE VIEW `v` AS select `a`.`id1` AS `id`,`a`.`name` AS `name`,`b`.`date` AS `date`,`b`.`age` AS `age`,`a`.`sex` AS `sex` from `ny`.`t1` `a`,`ny`.`t2` `b` where (`a`.`id1` = `b`.`id2`) character_set_client: utf8mb4 collation_connection: utf8mb4_general_ci 1 row in set查看
t3表的表结构。obclient> DESC t3; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(10) | YES | | NULL | | | name | varchar(256) | YES | | NULL | | | date | date | YES | | NULL | | | age | int(11) | YES | | NULL | | | sex | varchar(128) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 5 rows in set将视图
v的定义修改为t3表的定义。obclient> ALTER VIEW v AS SELECT * FROM t3; Query OK, 0 rows affected再次查看视图
v的结构。obclient> desc v; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(10) | YES | | NULL | | | name | varchar(256) | YES | | NULL | | | date | date | YES | | NULL | | | age | int(11) | YES | | NULL | | | sex | varchar(128) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 5 rows in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




