mysql front 视图_mysql 视图

mysql 视图

那随意了 • 2020 年 06 月 02 日

视图

简介

定义

视图是一个虚拟的表,其内容有查询定义.同真实的表一样,视图包含一些力带有名称的列和行数据.行和列的数据来自定义视图查询所引用的表,并且在引用视图时动态生成,

简单的来说视图时有select结果组成的表

特性

视图时对于若干张基表的引用,一张虚表,查询语句执行的结果

不存储具体的数据(基表发生了改变,视图也会跟着改变)

可以和基本表一样,进行增删改查的操作(有条件限制)

作用

提高了安全性,查询性能,提高了数据库独立性

查询的数据源来自不同的表,而查询者希望以统一的方式查询,这样也可以建立一个视图,把多个表查询结果联合起来,查询者只需要直接从视图中获取数据,不必考虑数据源不同带来的差异

操作create view 视图名 as (查询语句)

#例子

create view table_view as (select * from table);

之后查询就可以直接select * from table_view

修改视图内容create view table_view as (select * from table where id=1);

删除视图drop view table_view

查询机制

创建视图create [algorithm]={undefinde|merge|temptable}]

view 视图名称[(属性清单)]

as select语句

[with[cascaded|local]checkoption];

algorithm参数merge:使用替换式,可以进行更新真实表中的数据

temptable:具化式,数据存在临时表中无法更新真实数据

undefined:没有定义algorithm参数,mysql更加倾向于选择替换式

with check option:更新时不能插入或更新不符合视图限制的记录

local和sascaded:为可选参数,决定了检查测试的范围,默认值为cascaded

视图机制

替代式:操作视图时,视图名直接被视图定义给替换掉

具化式:先处理视图结果,在内存中形成一个临时表,后处理外面的查询需求

视图不可更新部分

只要数据不是来自基表的都不可更新,如:聚合函数

distinct关键字

group by 字句

having字句

union字句

union运算符

from字句中包含多个表

select语句汇总引用了不可更新视图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值