肖sir__mysql之视图__009

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、什么是视图?

相关推荐

  1. sir___项目课程讲解(001

    2023-12-05 21:12:04       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 21:12:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 21:12:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 21:12:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 21:12:04       20 阅读

热门阅读

  1. 前端开发js中的class(类)继承

    2023-12-05 21:12:04       41 阅读
  2. 【C++】友元函数

    2023-12-05 21:12:04       43 阅读
  3. 爬虫-BeautifulSoup之XML篇

    2023-12-05 21:12:04       35 阅读
  4. Python----网络爬虫

    2023-12-05 21:12:04       34 阅读
  5. Android 解决Gradle 三方依赖冲突方法

    2023-12-05 21:12:04       44 阅读
  6. Flink流批一体计算(21):Flink SQL之Flink DDL

    2023-12-05 21:12:04       34 阅读