MySQL5-视图

一、定义(DDL)

视图是一张虚拟表,是有一个或多个表的查询结果集创建(可以将视图理解为查询结果的快照)

作用:

使操作复杂的查询语句更简单化

好处:

1.简单,所见即所得

2.安全,将敏感字段隐藏

3.具备自己独立的逻辑结构(视图可以嵌套使用)

缺点:

1.性能不高(操作视图的同时还要看原表,使简单的操作变的更麻烦)

2.维护困难(视图的增删改查会改变原表数据,多表查询结果无法进行增加和删除,但可以更新)

1.1创建视图

create view 视图名 (列名字)as 查询语句

在多表查询时,select的结果集合中不允许出现相同的列名,否则视图无法创建

image-20200727141553798

1.2修改视图

1.2.1 覆盖

create or replace view 视图名 as 查询语句

image-20200727142824520

1.2.2 alter关键字

alter view 视图名 as 查询语句

新添加的列会添加在原有列的后面

image-20200727142258215

1.3删除视图

drop view 视图名

二、操作视图(DML)

视图就是一张虚拟表

对视图中的数据进行增删查改的操作

对单表结果集合创建的视图,可以进行增删查改,所有的操作会直接影响原数据

对多表的结果集合创建的视图,可以查询和修改,但是绝不允许增加和删除,如下图会报错

image-20200727143403473

视图是可以嵌套使用的,但不要超过三层

2.1单表

2.1.1增:

插入行,要求包含所有非空字段的值,

插入后,该视图,原表,引用该视图的视图都会更新

insert into 视图名 (列名1,列名2) values

(内容1,内容2);

image-20200727144615904

2.1.2删

delete from 视图名 where 条件

该视图,原表,引用该视图的视图都会更新

image-20200727144652659

2.1.3改

update

image-20200727144703018

2.2 多表

2.2.1查

image-20200727145220647

2.2.2增删是不可以的,会报错

image-20200727145539555

image-20200727150212975

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值