mysql视图
一、什么是视图
视图是一个虚拟表(逻辑表),它不在数据库中以存储形式保存(本身包含数据),是在使用视图的时候动态生成

二、视图作用
1、查询数据库中的非常复的数据
例如:多表,子查询编写的复杂,通过创建视图,避免每次都写合表的sql语句,避免出现错误提高查询的效率

2、为了安全,在公司中有写字段保密,我们可以创建视图,限制对某些字段操作
三、视图的优缺点
1、提高查询效率
数据库中非常复杂的数据可以通过创建视图避免多次编写sql语句出现的错误

2、安全
有些保密字段,通过创建视图来实现对对某些字段进行操作
3、简单
需要关系后面表对应的结构

缺点:
1、性能差
把视图查询结果转换成对表的查询
2、修改限制
修改视图数据,必须把他转化为对基础表的修改

=======================================================
二、视图的使用
1、show tables 查看所有表
2、创建视图
格式create view 视图名称 as (SQL语句)
案例create view st as (select * from dept INNER JOIN emp on dept.dept1=emp.dept2)
3、查看视图:
格式select * from 视图名称
案例select * from st;
4、查看创建的视图;
格式:show create VIEW 视图名称;
案例show create VIEW st ;
截图:
在这里插入图片描述
5、删除视图
格式:drop view 视图名称
案例:drop VIEW st ;

===========================================
三、视图的特点
1、视图时由基础表产生虚拟
2、视图的创建和删除影响基础表
3、视图的数据更新删除直接影响基础表
案例1:UPDATE st set name=‘小钱’ where sid=1568 视图更新,基础表也更新
案例2:delete FROM st2 where dept1=101 单表数据可以删除,多表的数据就无法删除
4、视图不能修改字段(报错
alter table st2 change dept1 detpt3 int(10) # ‘dcs.st2’ is not BASE TABLE
5、基础表修改数据,视图也修改

===========================================
面试题
1、数据库你会吗?你会拿一些?
会,数据的增删改查单表,多表,视图,索引存储外键
2、讲下如何创建视图?
3、视图的作用?
(1)安全,保密字段
(2)优惠sql语句
4、如何查询视图
5、如何删除一个视图
6、视图和基础表的关系?
7、什么是视图?

原文地址:https://blog.csdn.net/m0_47403059/article/details/134689426

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_6325.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注