mysql视图

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: mysql视图

一、概述

视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据,可以理解为存储起来的select语句

对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,多表视图一般用于查询,不会改变基本表的数据。

视图是向用户提供基表数据的另一种表现形式。通常情况下,小型项目的数据库可以不使用视图,但是在大型项目中,以及数据表比较复杂的情况下,视图的价值就凸显出来了,它可以帮助我们把经常查询的结果集放到虚拟表中,提升使用效率。理解和使用起来都非常方便。

二、创建视图

1、语法

CREATE VIEW <视图名> <视图字段> AS <SELECT语句>

语法说明如下。

  • <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。
  • <SELECT语句>:指定创建视图的 SELECT 语句,可用于查询多个基础表或源视图。

2、基于单表创建视图

//基于school表创建视图school_info,视图字段和school一致,查询语句别名会作为视图字段名
create view school_info as select * from school;
 
select * from school_info;
 
//自定义视图字段名
create view school_info1 (sid,sname) as select * from school where id > 10;
 
//视图中的字段在基表中没有
create view school_info2  as select max(id) from school;

3、基于多表创建视图

create view school_user
select * from  school  s
join `user` u  on u.sid = s.id

4、视图查询

视图一经定义之后,就可以如同查询数据表一样,使用 SELECT 语句查询视图中的数据,语法和查询基础表的数据一样。

视图用于查询主要应用在以下几个方面:

  • 使用视图重新格式化检索出的数据。
  • 使用视图简化复杂的表连接。
  • 使用视图过滤数据。

DESCRIBE 可以用来查看视图,语法如下:

DESCRIBE 视图名;

三、查看视图

#查看数据表、视图表
show tables;
 
#查看视图结构
describe school_info;
 
#查看视图属性信息
show table status like 'school_info';
 
#查看视图创建详细定义信息
show create view school_info;

四、更新视图数据(增删改)

对视图的操作语法和基表一样,增删改视图数据,同时会对基表增删改

五、删除、修改视图

修改视图的名称可以先将视图删除,然后按照相同的定义语句进行视图的创建,并命名为新的视图名称。

删除视图是指删除 MySQL 数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。

可以使用 DROP VIEW 语句来删除视图。

语法格式如下:

DROP VIEW <视图名1> [ , <视图名2> …]

其中:<视图名> 指定要删除的视图名。DROP VIEW 语句可以一次删除多个视图,但是必须在每个视图上拥有 DROP 权限。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
|
3天前
|
关系型数据库 MySQL 程序员
【MySQL 数据库】8、视图
【MySQL 数据库】8、视图
47 0
|
6月前
|
SQL 关系型数据库 MySQL
MySql数据库中的视图,索引与数据库sql脚本如何导入与导出---(详细介绍)
MySql数据库中的视图,索引与数据库sql脚本如何导入与导出---(详细介绍)
252 0
|
3天前
|
存储 关系型数据库 MySQL
MySQL中如何创建一个视图
MySQL中如何创建一个视图
22 0
|
3天前
|
关系型数据库 MySQL
MySQL第四战:视图以及常见面试题(上)
MySQL第四战:视图以及常见面试题(上)
|
3天前
|
关系型数据库 MySQL 索引
【MySQL】17. 视图
【MySQL】17. 视图
12 0
|
6月前
|
存储 关系型数据库 MySQL
MySql进阶使用之视图、索引(详解)
MySql进阶使用之视图、索引(详解)
388 1
|
3天前
|
Oracle 关系型数据库 MySQL
【mysql】—— 视图
【mysql】—— 视图
|
3天前
|
关系型数据库 MySQL
Mysql基础第二十五天,使用视图
Mysql基础第二十五天,使用视图
20 0
Mysql基础第二十五天,使用视图
|
3天前
|
SQL 存储 关系型数据库
MySQL技能完整学习列表8、触发器、视图和事务——1、触发器(Triggers)的使用——2、视图(Views)的创建和使用——3、事务(Transactions)的管理
MySQL技能完整学习列表8、触发器、视图和事务——1、触发器(Triggers)的使用——2、视图(Views)的创建和使用——3、事务(Transactions)的管理
38 0

推荐镜像

更多