当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/252466.html

相关文章:

  • FPGA falsh相关知识总结
  • 升辉清洁IPO:广东清洁服务“一哥”还需要讲好全国化的故事
  • Python自动化办公:PDF文件的分割与合并
  • 破解app思路
  • 背景特效插件:Background Effects
  • 36.位运算符
  • C#异常处理-throw语句
  • PlantUML语法(全)及使用教程-时序图
  • 231204 刷题日报
  • PTA 7-229 sdut-C语言实验- 排序
  • 原生横向滚动条 吸附 页面底部
  • 1+x网络系统建设与运维(中级)-练习3
  • 知识图谱07——图片中表格开源ocr识别
  • 每日一练2023.12.4——正整数【PTA】
  • golang之net/http模块学习
  • Python中format函数用法
  • Android 断点调试
  • 对抗神经网络 CGAN实战详解 完整数据代码可直接运行
  • LeetCode417. Pacific Atlantic Water Flow
  • Python字符串模糊匹配工具:TheFuzz 库详解
  • Golang中WebSocket和WSS的支持
  • 亚马逊云科技re:Invent大会,助力安全构建规模化生成式AI应用
  • 价差后的几种方向,澳福如何操作才能盈利
  • 【Java】类和对象之超级详细的总结!!!
  • 机器学习的复习笔记3-回归的细谈
  • Git常用命令#切换分支
  • 【qml入门教程系列】:qml property使用介绍
  • pbootcms建站
  • Spring的事务传播行为
  • 04_网络编程