视图:

含义:虚拟的表,和普通表一样使用,

mysql5.1版本新加功能,是通过表动态生成的数据

只保存了sql逻辑,不保存数据

重用sql语句

简化复杂的SQL操作,不必知道它的查询细节

保护数据,提高安全性

视图与表比较

    创建语法         是否占用空间     使用

视图    create view      不占用           增删改查,一般不能增删改

表      create table      占用            增删改查

一、创建视图

create view 视图名

as

查询语句;

二、使用视图

三、视图的修改

方式一:

create or replace view 视图名

as

查询语句;

方式二:

alter view 视图名

as

查询语句;

四、删除视图

drop view 视图名,视图名。。。

五、查看视图

desc 视图名

六、视图的更新

create or replace view myv1

as

select last_name,email,salary*12*(1+ifnull(commission_pot,0)) "annual salary"

1、插入

insert into myv1

2、修改

3、删除

delete from 视图名 where 条件

包含以下关键词的sql语句不允许更新

①包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all

②常量视图

③select 中包含子查询

④join

⑤from一个不能更新的视图

⑥where子句的子查询引用了from子句中的表。

delete和truncate的区别

 

delete在使用事务时支持回滚,

 

truncate在使用事务时不支持回滚,删除后,回滚依旧删除。