MySQL(6)—— 视图

本文主要讨论视图。

什么是视图?

视图是一个虚拟的表,它是基于一个或多个基础表或其他视图的查询的结果集;视图本身是不存储数据的

视图中存储的是一条命令,可以理解为用视图来替代一条指令。

下面我们来看一个例子:

sql 复制代码
-- 创建视图:查询一班的男生
CREATE VIEW boys_class1 AS
SELECT id, name, age 
FROM students 
WHERE class = '一班' AND gender = '男';

这样就创建了一个视图。后面如果还需要查询一班的男生,那么就可以直接使用:

sql 复制代码
SELECT * FROM boys_class1;

这就是视图的作用。它能减少重复代码的书写,提高效率。

创建使用和删除

视图的创建使用 create view关键字:

sql 复制代码
CREATE VIEW 视图名 AS
SELECT 列名 FROM 表名 WHERE 条件;

视图的使用和上面的相同,使用select * from:

sql 复制代码
CREATE VIEW 视图名 AS
SELECT 列名 FROM 表名 WHERE 条件;

最后删除视图使用drop view:

sql 复制代码
DROP VIEW 视图名;

总的来说,视图有以下的作用:

  1. 简化复杂查询
    可以让复杂的语句简化为一条简单的语句。
  2. 数据安全
    查询时只给视图的权限就能隐藏敏感字段(如密码身份证等)
  3. 统一数据口径
    在团队开发中,使用同一个视图,保证大家使用的规则一致,不会出现计算错误等情况。
  4. 兼容性强
    如果表结构被修改,通过视图保持原有的查询字段,不用去修改代码。
相关推荐
毛驴赶鹿5 小时前
【金仓数据库征文】KES V9性能调优实战记录:从慢SQL排查到全链路优化
数据库·sql
码农阿豪5 小时前
【金仓数据库征文】Mac开发环境|SpringBoot3 + MyBatisPlus对接KES V9 Docker实战全指南
数据库·macos·docker
杨云龙UP5 小时前
MySQL 数据库常用备份工具对比:mysqldump、mydumper 与 XtraBackup
linux·运维·服务器·数据库·mysql·dba·备份恢复
ZENERGY-众壹5 小时前
500个工商业电站压垮数据库?海量光伏时序数据存储的架构取舍
数据库·架构·influxdb·光伏·光伏运维
mubei-1236 小时前
SpringDAO的用法
java·开发语言·数据库
心灵Haven8 小时前
Centos7 + Mysql8.0
mysql·centos
星蓝_starblue9 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it
三84411 小时前
sqli-labs1-10通关笔记
数据库
BullSmall12 小时前
Another Redis Desktop Manager(ARDM)下载指南
数据库·redis·缓存
SelectDB12 小时前
Apache Doris 倒排索引工作原理:全文检索提速 59 倍,点查提速 14 倍
数据库