语法
目前创新互联已为近千家的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、水磨沟网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
: CREATE VIEW 视图名 [(列名1,列名2,……)]
[WITH ENCRYPTION]
AS
SELECT_STATEMENT
[WITH CHECK OPTION]----就是这个属性决定该视图能否修改数据,真实作用是修改视图的数据最终是在产生视图的基表中,继而表现在视图上。
功能:创建视图
例1:创建一个成绩单视图
CREATE VIEW dbo.vw_cjd(name, cid, result)
AS
SELECT name, report.cid, report.result FROM student JOIN report
ON student.sid=report.sid
例2:显示成绩单视图
Select * from vw_cjd
修改视图与删除视图
1. 修改视图
语法:ALTER VIEW 视图名 [(列名1,列名2,……)] [WITH ENCRYPTION]
AS
SELECT statement [WITH CHECK OPTION]
例:修改视图vw_cjd
ALTER VIEW vw_cjd
AS
Select name, report.cid, report.result, address From student join report
ON student.sid=report.sid
查看Select * from vw_cjd
2. 删除视图
语法:DROP VIEW 视图名
例:删除视图vw_cjd
DROP VIEW vw_cjd
视图定义信息
一、视图定义信息
1.在企业管理体制器中查看
2.查询视图Information_schema.views
3.查询系统表syscomments
4.使用命令 sp_helptext 对象名
二、隐藏视图定义
with encryption
通过视图修改数据
¨ 只能影响一个基表;
¨ 如果指定WITH CHECK OPTION选项,那么要验证所修改的数据。
建立视图的语句本身就可以写成create or replace,也就是建立或者重建。所以个人想到的办法就是:删除--再命名重建,或者也可以先建立新的视图-再删除旧的,新旧视图并不冲突。
至于重命名,我能想到的只有rename命令,不过这个能操作视图吗,我表示怀疑,你可以试试(按照操作表的方式试试),不过估计不行。
.create or replace view 语句。//如视图存在则覆盖,如不存在则创建。
create or replace view algorith=temptable view student_view(nid,id,name) as select id,pid,title from student;
视图其实就是一个select语句,不能存数据。所以直接加列是不行的,你可以alter它,如开始view是:create view t1 as select name from user;
现在如果要加一个列age,你可以这样alter view ti as select name,age from user
1、什么是视图
视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果
2、视图应用场景
多个地方用到同样的查询结果该查询结果使用的sql语句较复杂
4、视图的好处
使用简单安全数据独立
5、创建或者修 改视图
创建视图的语法:
修改视图的语法
6、视图更新性
视图的可更新性和视图中查询的定义有关系,以下类型的视图是不能更新的。(1)包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all(2)常量视图(3)Select中包含子查询(4)join(5)from一个不能更新的视图(6)where子句的子查询引用了from子句中的表
7、删除视图的语法
用户可以一次删除一个或者多个视图,前提是必须有该视图的drop权限。
8、查看视图结构的语法
show tables;如果需要查询某个视图的定义,可以使用show create view命令进行查看