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

【数据库】约束

文章目录

  • 什么是视图
  • 创建视图
  • 使用视图
  • 修改数据(更新视图)
  • 删除视图
  • 视图的优点


什么是视图

视图是⼀个虚拟的表,它是基于⼀个或多个基本表或其他视图的查询结果集。视图本⾝不存储数据,⽽是通过执⾏查询来动态⽣成数据。⽤户可以像操作普通表⼀样使⽤视图进⾏查询、更新和管理。视图本⾝并不占⽤物理存储空间,它仅仅是⼀个查询的逻辑表⽰,物理上它依赖于基础表中的数据。

创建视图

# 语法
CREATE VIEW view_name [(column_list)] AS select_statement

使用视图

查询⽤户的所有信息和考试成绩:

不指定列名定义视图:
在这里插入图片描述
定义视图时出现了重复的列的报错,我们需要给每一个列起别名。
在这里插入图片描述
这时查看表就能看到视图了
在这里插入图片描述
在这里插入图片描述
指定列名定义视图:

create view v_student_score_v (id,name,class_id,class_name,course_id,course_name,score_id,score)as (
select 
student.student_id,
student.name as student_name,
class.class_id,
class.`name` as class_name,
course.course_id,
course.`name` as course_name,
score.score_id,
score.score
from student,course,class,score
where student.student_id = score.score_id ANDstudent.class_id = class.class_id ANDcourse.course_id = score.course_idorder by student_id asc
);

**指定列名定义视图时,可以不使用as对相同的列名起别名也可以正常创建。

注:此代码与上一个代码略有不同,此代码使用student_id升序排列,后面有用。**

修改数据(更新视图)

通过真实表修改数据,会影响视图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
通过视图修改数据会影响基表:
在这里插入图片描述
如果视图在定义时使用了order by ,就没法更新。
• 修改真实表会影响视图,修改视图同样也会影响真实表
• 以下视图不可更新:
◦ 创建视图时使⽤聚合函数的视图
◦ 创建视图时使⽤ DISTINCT
◦ 创建视图时使⽤ GROUP BY 以及 HAVING ⼦句
◦ 创建视图时使⽤ UNION 或 UNION ALL
◦ 查询列表中使⽤⼦查询
◦ 在FROM⼦句中引⽤不可更新视图

正常更新的情况下,可以实现数据修改:
在这里插入图片描述

删除视图

语法:

# 语法
drop view view_name;

视图的优点

  1. 简单性:视图可以将复杂的查询封装成⼀个简单的查询。例如,针对⼀个复杂的多表连接查询,可以创建⼀个视图,⽤⼾只需查询视图⽽⽆需了解底层的复杂逻辑。
  2. 安全性:通过视图,可以隐藏表中的敏感数据。例如,⼀个系统的⽤⼾表中,可以创建⼀个不包含密码列视图,普通⽤⼾只能访问这个视图,⽽不能访问原始表。
  3. 逻辑数据独⽴性:视图提供了⼀种逻辑数据独⽴性,即使底层表结构发⽣变化,只需修改视图定义,⽽⽆需修改依赖视图的应⽤程序。使⽤到应⽤程序与数据库的解耦
  4. 重命名列:视图允许⽤户重命名列名,以增强数据可读性。
http://www.dtcms.com/a/550909.html

相关文章:

  • 黄浦网站设计北京网站改版报价
  • 苏州企业网站制作服务wordpress 看不到主题
  • 心率血氧传感器介绍
  • Rust智能指针的奇妙之旅:从踩坑到顿悟
  • 鹰潭做网站的有什么网站是做平面设计的
  • 网站开发有哪些流程Wordpress 插件开发者
  • 公司网站一年多少钱苏州网站制作网络建设公司
  • 赣州网站建设哪家公司好wordpress后台登录不上
  • 服装公司电商网站建设规划建设银行网站最近都打不开吗
  • 浅谈 BSGS(Baby-Step Giant-Step 大步小步)算法
  • 大石网站建设做ppt找图片在哪个网站好
  • 在线简历制作网站免费做网站赚钱难
  • 【数字逻辑】24小时数字钟实战!74HC161搭24/60进制计数器+Multisim仿真
  • 架构师论文《论分布式缓存的设计与实现》
  • 网站建设模板51戴尔网站建设
  • jsp电影网站开发教程阿里云中英文网站建设
  • 网站开发开票税率北京谁会做网站开发
  • 台州网站制作建设宁波seo关键词优化设计
  • wordpress设置网站关键字wordpress口腔
  • 做网站要多少回扣郑州正岩建设集团网站
  • 番禺区建站服务商柳州论坛网站建设
  • Rust 派生宏 (Derive Macro) 的动力、机制与哲学
  • 怎么做购物网站的购物车wordpress one page
  • 制作网站团队服务器如何建设多个网站
  • Microchip MPLAB AI助手体验
  • 做问卷的网站好烟台网站建设seo
  • wordpress仿模板完整的网站优化放啊
  • gbase8s的定时任务的使用方式基础版-创建简单的定时任务
  • 8款主流软件项目管理工具横向测评
  • 江西求做网站网站企业有哪些