MySQL_视图

无奋斗不青春

课 程 推 荐
我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)教程合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库教程合集 👈👈
MySQL数据库教程:👉👉 MySQL数据库教程合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集 👈👈
.

分隔线
在这里插入图片描述

MySQL_视图

视图
  • 视图的引入
  • 视图的作用
  • 创建视图
  • 查看视图
  • 修改视图
  • 更新视图
  • 删除视图

  • 视图的引入
  1. 视图是一种虚拟的表,是从数据库中一个或者多个表中导出来的表。
  2. 数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。
  3. 使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。

  • 视图的作用
  1. 使操作简便化;
  2. 增加数据的安全性;
  3. 提高表的逻辑独立性;

  • 创建视图
  • 语法
    CREATE [ ALGORITHM ={ UNDEFIEND | MERGE | TEMPTABLE }]
    VIEW 视图名 [ ( 重命名字段名) ]
    AS SELECT 语句
    [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
  • 说明
    • ALGORITHM是可选参数,表示视图选择的算法;
    • “视图名”参数表示要创建的视图的名称;
    • “属性清单”是可选参数,其指定了视图中各种属性的名词,默认情况下与 SELECT 语句中查询的属性相同;
    • SELECT 语句参数是一个完整的查询语句,标识从某个表查出某些满足条件的记录,将这些记录导入视图中;
    • WITH CHECK OPTION是可选参数,表示更新视图时要保证在该视图的权限范围之内;
    • CASCADED是可选参数,表示更新视图时要满足所有相关视图和表的条件,该参数为默认值;
    • LOCAL 表示更新视图时,要满足该视图本身的定义条件即可;
    • ALGORITHM 包括 3 个选项 UNDEFINED、MERGE和TEMPTABLE
    • UNDEFINED选项表示MySQL将自动选择所要使用的算法;
    • MERGE选项表示将使用视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分;
    • TEMPTABLE 选项表示将视图的结果存入临时表,然后使用临时表执行语句;
  • 示例
    • 在单表上创建视图
    CREATE OR REPLACE VIEW v1(编号,书名,作者) AS SELECT id,bookname,author FROM t_book
    
    • 在多表上创建视图
    CREATE OR REPLACE VIEW v2(书名,分类) AS SELECT t1.bookname,t2.booktypename FROM t_book t1,t_booktype t2 WHERE t1.booktypeid=t2.id
    

  • 查看视图
  1. DESCRIBE 语句查看视图基本信息
    DESCRIBE V1;
    
    简写:DESC V1
    
  2. SHOW TABLE STATUS 语句查看视图基本信息
    Show Table Status Like 'V1'
    
  3. SHOW CREATE VIEW 语句查看视图详细信息
    Show Create View v1
    
  4. 在 views 表中查看视图详细信息
    • 请添加图片描述

  • 修改视图
  • CREATE OR REPLACE VIEW 语句修改视图
    CREATE OR REPLACE [ ALGORITHM ={ UNDEFINED | MERGE | TEMPTABLE }]
    VIEW 视图名 [( 属性清单 )]
    AS SELECT 语句
    [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
  • ALTER 语句修改视图
    ALTER [ ALGORITHM ={ UNDEFINED | MERGE | TEMPTABLE }]
    VIEW 视图名 [( 属性清单 )]
    AS SELECT 语句
    [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]

  • 更新视图
  • 更新视图是指通过视图来插入(INSERT)、更新(UPDATE)和删除(DELETE)表中的数据。因为视图是一个虚拟的表,其中没有数据。通过视图更新时,都是转换基本表来更新。更新视图时,只能更新权限范围内的数据。超出了范围,就不能更新。
  • 插入(insert into)
    • 仅限于单表视图,并且视图字段与表字段完全一致
    insert into 视图名 values(1,2,3,....值n)
    
  • 更新(update)
    update 视图名 set 字段名='值' wher 条件表达式
    
  • 删除(delete)
    delete from 视图名 where 条件表达式
    

  • 删除视图
  • 删除视图是指删除数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据;
  • 语法
    DROP VIEW [ IF EXISTS ] 视图名列表 [ RESTRICT | CASCADE ]
    
    -- IF EXISTS:如果视图存在,则删除
    -- RESTRICT:确保只有不存在相关视图和完整性约束的表才能删除
    -- CASCADE:任何相关视图和完整性约束一并被删除
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值