数据库的视图
一、视图
概述:mysql5.0版本之后主持视图
视图能够方便开发热源对数据进行增删改查等操作
访问视图能够根据相应的权限来限制用户直接访问数据库的数据表
保障数据库的安全
概念:视图可以由数据库中的一张表或者多张表生成,结构与数据表类似
视图中的数据也是由一张表或者多张表的数据组合而成
可以对试图中的数据进行增删改查等操作,也可以修改视图结构
视图不会保障数据,数据真正保存在数据表中
视图与数据表数据同步更新
视图的优点:
操作简单:可以经常使用的查询操作定义为视图
可以使开发人员不用关心
数据表的结构、表与表之间的关联关系、数据表之间的业务逻辑和查询条件
极大的简化开发人员对数据库的操作
数据安全:mysql根据权限将用户对数据的访问限制在某些数据的结果集上,而这些数据的结果集可以使用视图来实现
不必直接查询或操作数据表
保证了数据的安全性
数据独立:
视图的结构是创建之初确定的
当数据表的结构变化不会影响视图的结构
如果数据表的字段发送变化,只需要简单修改查询语句
不会影响用户对数据的查询操作
适应灵活多变的需求:
当业务需求发送变化,修改数据表的结构工作量较大,可以使用视图来减少改动的工作量
能够分解复杂的查询逻辑:数据库中如果存在复杂的查询逻辑,则可以将问题分解,创建多个视图获取数据,再将多个视图结合起来,完成复杂查询
1.创建视图:create view view_name as select * from user; as后面考研跟上所有的SQL语句
第一步:创建数据库create database max123
第二步:创建表:create table max123.user(id int);并使用一个数据库
第三步:创建视图:create view v1 as select * from user;
第四步: cd max123 查看ll -h v1表只有表结构没有数据 不占用磁盘空间
第五步:登录mysql select * from v1;有数据
mysql> show tables;
+------------------+
| Tables_in_max123 |
+------------------+
| user |
| v1 |
+------------------+
2 rows in set (0.00 sec)
mysql> desc v1;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
查看视图show create view v1\G
select * from information_schema.views limit 5\G;
修改视图结构第一步:create or replace view v1 as select name,shell from user;
第二步:desc v1 查看表结构
第三步:select * from v1;
修改表中数据和视图中的数据的变化:修改表数据和修改视图数据表中数据和视图表中数据都会改变
删除视图 drop view
原文地址:https://www.cnblogs.com/cnds168/p/15353838.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux 常用操作以及概念
- GCD梳理与总结——封装
- 原生JS在网页上复制的所有文字后面自动加上一段版权声明
- 使用宝塔docker安装为知笔记私有部署
- 第4天:美团点评2020校招测试方向笔试试卷分析
- Element-UI饿了么时间组件控件按月份周日期,开始时间结束时间范围限制参数
- 微信小程序flex布局
- 细数 TS 中那些奇怪的符号
- 安装RabbitMQ无法访问localhost:15672的管理界面解决
- koa中http服务与websocket服务共享端口
- 第23天:NLP实战(七)——中文新闻主题分类
- Swoole v4.5.3 版本发布
- .NET5.0 单文件发布打包操作深度剖析
- 使用ng-container标签在SAP Spartacus里插入UI
- 自定义SAP Spartacus Cart界面