MySQL:基础教程-11(个人笔记)

目录

视图介绍

设置条件创建视图

限制通过视图写入

替换、修改和删除视图


视图介绍

视图:将select的结果像表一样保留下来的虚表就是视图,视图不是表,是一种信息,用于查询记录;

创建试图

create view 视图名as select 列名from 表名where条件;

ex:

创建一个简单的视图。员工信息表tb1由员工号(empid)、姓名(name)和年龄(age)组成。试着创建没有员工号、只包含姓名和年龄这两个列的视图v1。

# create view...as 创建为试图;

create view v1 as select name, age from tb1;
select * from v1;

通过视图更新列的值

update v1 set name = '主任·佐藤' where name = '佐藤';


设置条件创建视图

ex:

连接表tb1J与表tb,提取销售额(sales)大于等于100万元的记录,创建由表tb的员工号(empid)和销售额(sales),以及表tb1J的姓名(name)构成的视图v2,然后显示视图v2的所有记录

create view v2 as 
select tb.empid,tb1j.name,tb.sales from tb
join tb1j using(empid) where tb.sales >=100;

select * from v2;

格式:显示视图的详细信息

show create view 视图名


限制通过视图写入

向视图v1中插入方法和向标中插入数据的方法:

insert into v1 values ('临时工·石田',18);
select * from v1;

创建v3视图,复制tb图到v3且sales>=100;

create view v3 as 
select empid,sales from tb 
where sales >=100;

select * from v3;

插入不符合视图条件的记录

insert into v3 values ('恶意刁难',50);

使用select * from v3,则不会显示,若使用select empid, sales from tb;

当与视图的条件不匹配时报错

create view v4
as 
select empid, sales
from tb
where sales > 100
with check option;

insert into v4 values('恶意刁难',50);
select * from v4;

无法输入不符合条件的记录;


替换、修改和删除视图

当存在同名的视图时,对其进行替换,使用create or replace view 替换视图:

create or replace view v1
    as
select now();

修改试图结构

使用alter view

格式:

alter view 视图名 as select 列名 from 表名;

让当前的视图v1中包含表tb1的列name和age;

例子:

alter view v1
    as
select name, age
    from tb1;

删除试图

drop view 视图名

ex: 删除视图 v1 使用 if exists

drop view if exists v1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值