MySQL 基础---视图

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 视图: 本质上是一种虚拟表,其内容与真实表相似,包含一系列带有名称的列和行数据。视图的特点如下:视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。

视图: 本质上是一种虚拟表,其内容与真实表相似,包含一系列带有名称的列和行数据。

视图的特点如下:

  • 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。
  • 视图是由基本表(实表)产生的表(虚表)。
  • 视图的建立和删除不影响基本表。
  • 对视图内容的更新(添加、删除和修改)直接影响基本表。
  1. 创建视图
# 创建数据库
 create database view;
# 使用数据库
 use view;
# 创建表
 create table t_product(
          id int primary key,
          name varchar(20),
          price float
 );
# 查看当前表中的数据
 select * from t_product;
# 创建视图
create view view_selectproduct
   as
         select id,name from t_product;
# 使用视图--实质是将语句进行了封装
 select * from view_selectproduct;
  1. 创建各种视图
    (1)封装实现查询常量语句的视图, 即所谓常量视图。
    create view view_test1
        as
            select 3.1415926;

(2)封装使用聚合函数(SUM、MIN、MAX、COUNT等)查询语句

      create view view_test2
        as
            select count(name) from t_student;

(3) 封装实现排序功能(ORDER BY)查询语句的视图

      create view view_test3
        as
            select name from t_product order by id desc;

(4) 封装实现表内连接查询语句的视图

    create view view_test4
        as
            select s.name 
                        from t_student as s, t_group as g 
            where s.group_id=g.id 
            and g.id=2;

(5)封装实现表外连接(LEFT JOIN 和 RIGHT JOIN)查询语句的视图。

    create view view_test5
        as
            select s.name 
                      from t_student as s 
            left join 
                      t_group as g 
            on s.group_id=g.id 
            where g.id=2;

(6)封装实现子查询相关查询语句的视图。

    create view view_test6
        as
            select s.name
                       from t_student as s
            where s.group_id in (
                  select id from t_group
            );

(7)封装了实现记录联合(UNION和UNION ALL)查询语句视图

      create view view_test7
        as
            select id, name from t_student
            union all
            select id, name from t_group;
  1. 查看视图
    (1)SHOW TABLES语句查看视图名show tables;
    (2)SHOW TABLE STATUS语句查看视图详细信息show table status \G;show table status from view \G;show table status from view like "view_selectproduct" \G;
    (3)SHOW CREATE VIEW语句查看视图定义信息show create view view_selectproduct \G;
    (4)DESCRIBE|DESC语句查看视图设计信息desc view_selectproduct;

  2. 删除视图

drop view view_selectproduct,view_select_selectproduct1;
  1. CREATE OR REPLACE VIEW语句修改视图
# 修改视图语句
create or replace view view_selectproduct
         as
                 select name from t_product;
# 查询视图
select * from view_selectproduct;
  1. ALERT 语句修改视图
 alter view view_selectproduct
          as
                  select id,name from t_product;
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL 程序员
【MySQL 数据库】8、视图
【MySQL 数据库】8、视图
40 0
|
1月前
|
Oracle 关系型数据库 MySQL
【mysql】—— 视图
【mysql】—— 视图
|
1月前
|
关系型数据库 MySQL
Mysql基础第二十五天,使用视图
Mysql基础第二十五天,使用视图
19 0
Mysql基础第二十五天,使用视图
|
2月前
|
SQL 存储 关系型数据库
MySQL技能完整学习列表8、触发器、视图和事务——1、触发器(Triggers)的使用——2、视图(Views)的创建和使用——3、事务(Transactions)的管理
MySQL技能完整学习列表8、触发器、视图和事务——1、触发器(Triggers)的使用——2、视图(Views)的创建和使用——3、事务(Transactions)的管理
37 0
|
3月前
|
SQL 安全 关系型数据库
MySQL视图 视图的作用、视图常用语法
MySQL视图 视图的作用、视图常用语法
28 0
|
4月前
|
安全 关系型数据库 MySQL
⑩④【MySQL】什么是视图?怎么用?视图的检查选项? 视图的作用?[VIEW]
⑩④【MySQL】什么是视图?怎么用?视图的检查选项? 视图的作用?[VIEW]
46 0
|
4月前
|
存储 关系型数据库 MySQL
mysql之视图与索引
mysql之视图与索引
42 0
|
4月前
|
存储 关系型数据库 MySQL
MySql之视图索引
MySql之视图索引
|
4月前
|
存储 SQL 安全
MySQL-----视图,索引
MySQL-----视图,索引
39 0
|
4月前
|
SQL 关系型数据库 MySQL
万字解析帮你深入理解MySQL!!!(事物、视图和索引)
万字解析帮你深入理解MySQL!!!(事物、视图和索引)
60 0