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. 兼容性强
    如果表结构被修改,通过视图保持原有的查询字段,不用去修改代码。
相关推荐
lifewange9 分钟前
DBeaver如何安装
数据库
m0_6315298216 分钟前
CSS如何利用CSS变量进行渐变色管理_提升渐变配置的灵活性
jvm·数据库·python
2301_8180084429 分钟前
数据库模型设计实战:如何正向工程从模型建表_规范化项目开发流程
jvm·数据库·python
期待のcode1 小时前
Redis的数据清理机制
数据库·redis·缓存
oradh1 小时前
Oracle数据库服务器端编程介绍
数据库·oracle·oracle基础·oracle数据库基础
2401_846339562 小时前
Vue 3 中集成 Three.js 场景的完整实现指南
jvm·数据库·python
日取其半万世不竭2 小时前
Excalidraw 自建部署指南:白板协作工具完全私有化
服务器·网络·数据库
这个DBA有点耶2 小时前
联合索引的顺序:写错等于白建(最左前缀+范围条件+覆盖索引详解)
数据库·代码规范
2301_775639892 小时前
Golang怎么写TODO待办应用_Golang TODO应用教程【深入】
jvm·数据库·python
胖头鱼的鱼缸(尹海文)2 小时前
数据库管理-第423期 Oracle AI DB 23.26.2新特性一览(20260504)
数据库·人工智能·oracle