12-MySQL--视图(创建视图+查看视图+使用视图+修改视图+删除视图)+视图的意义+视图数据操作(新增数据+删除数据+更新数据)+视图算法

本文详细介绍了MySQL中的视图概念,包括视图的创建、查看、使用、修改和删除。视图是一种虚拟表,不存储数据,只基于基表结构。视图有助于简化复杂的查询,提高数据安全性,并便于权限控制。虽然视图可以进行数据操作,但多表视图不能新增或删除数据,而单表视图则可以在一定程度上进行这些操作。视图的算法包括undefined、temptable和merge,通常推荐使用merge以提高效率。
摘要由CSDN通过智能技术生成

一、视图

1、视图:view。视图是一种有结构(有行有列的二维表结构)但没结果(结构中不真实存放数据)的虚拟表。虚拟表的结构来源不是自己定义的,而是从对应的基表中产生(视图的数据来源)

注:虚拟表的数据也不是从自己来的

二、创建视图

1、基本语法

    -- 创建视图
    -- select语句:可以是 普通查询|连接查询|联合查询|子查询
    create view 视图名字 as select 语句;

(1)单表视图:基表只有一个

(2)多表视图:基表来源至少是两个

注:多表视图(基表有多张)的字段名不能重复。可以进行别名命名

    -- 创建视图:单表视图
    create view my_v1 as
    select * from my_student;

    -- 创建视图:多表视图
    create view my_v2 as
    select * from my_student as s left join my_class c on c.id = s.c_id;
    -- 报错:Duplicate column name 'id',即 id重复(表中不允许出现同名字段)

    -- 多表视图(基表有多张)的字段名不能重复(可以进行别名命名)
    
    create view my_v2 as
    select s.*, c.name as c_name, c.room from my_student as s
    left join my_class c on c.id = s.c_id;

2、视图一旦创建,系统会在视图对应的数据库文件夹下创建一个对应的结构文件xxx.frm(视图不影响基表的存在,视图只是基于基表出现的东西)

注:视图名和表名不能重复。因为产生的都是xxx.frm结构文件

三、查看视图

1、视图是一张虚拟表,表的所有查看方式都适用于视图

    -- 查看所有视图/表
    show tables;
    show tables like '视图名的模糊查询';
    show views;    -- 报错
    
    -- 查看视图结构
    desc 视图名;
    
    -- 查看视图创建语句
    show create table 视图名 [\G];
    show create view 视图名 [\G];

四、使用视图

1、使用视图主要是为了查询数据,将视图当做表一样查询即可(视图不保存结果,但可以从基表拿到数据)

    -- 使用视图,查询数据
    -- 视图不保存结果,但可以从基表拿到数据
    select * from my_v1;

2、视图的执行,其本质就是执行封装的select语句</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值