mysql学习笔记--数据库视图
一、视图
1. 概念
a. 视图是一张虚拟表,它表示一张表的部分或多张表的综合的结构
b. 视图仅仅是表结构,没有数据。视图的结构和数据建立在表的基础上
2. 创建视图
a. 语法:
create [or replace] view 视图的名称
as
select 语句
b. 例题
create view vw_stu
as
select stuname, stusex,writtenexam,labexam from stuinfo inner join stumarks using(stuno)
3. 查询视图
a. 语法:desc 视图
4. 查看创建视图的语法
a. 语法:show create view 视图名;
5. 显示所有视图
a. show tables;
b. select table_name from information_schema.views;
c. show table status where comment='view';
二、视图操作
1. 更改视图
a. 语法:alter view 视图名
as
select 语句
2. 删除视图
a. 语法:drop view [if exists] 视图1,视图2,视图3...
三、视图作用
1. 筛选数据,防止未经许可访问敏感数据
2. 隐藏表格结构
3. 降低sql语句复杂度
四、视图的算法
1.算法种类:
merge 合并算法,将视图的语句和外层的语句合并后再执行。
temptable 临时表算法,将视图生成一个临时表,再执行外层语句
undefined 未定义,mysql到底用merge还是temptable由mysql决定,这是一个默认的算法,一般视图都会选择merge算法,因为merge效率更高。
2. 在创建视图的时候指定算法
create algorithm=temptable view 视图名
as
select 语句
mysql学习笔记--数据库视图的更多相关文章
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
- MySQL学习笔记之视图
视图是对磁盘上保存的表数据的抽象,即抽取一个表或多个表的部分行或列的数据,展示给使用者. 首先列举下MySQL中最简单的对视图操作的语法: 1.创建视图: create view 视图名 as sel ...
- mysql学习笔记--数据库操作
一.显示数据库 show databases; 二.创建数据库 create database [if not exists] 数据库名 [字符编码] 注意: a. 如果已经存在数据库再创建会报错 b ...
- MYSQL学习笔记——数据库范式及MYSQL优化整体思路
一.数据库范式 为了建立冗余较小.结构合理的 ...
- mysql学习笔记--数据库索引
一.索引的优点:查询速度快 二.索引的缺点: 1. 增.删.改(数据操作语句)效率低了 2. 索引占用空间 三.索引类型: 1. 普通索引 2. 唯一索引(唯一键) 3. 主键索引:只要主键就自动创建 ...
- mysql学习笔记--数据库单表查询
一.查询语句 1. select [选项] 列名 [from 表名] [where 条件] [order by 排序] [group by 分组] [having 条件] [limit 限 ...
- mysql学习笔记--数据库设计
一.数据库基本概念 1. 关系:两个表的公共字段 2. 行:也称记录,也称实体 3. 列:也称字段,也称属性 4. 数据冗余:相同的数据存在不同的地方. 注意:冗余只能减少,不能杜绝. 减少冗余,只能 ...
随机推荐
- Elasticsearch-6.7.0系列(三)5601端口 kibana——ES的UI界面
https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz Kibana下载 有了elast ...
- SpringCloud启动类指定扫描包路径
//如果这个启动类所在的包路径隐藏的很深,则需要指定扫描包.否则默认扫描启动类所在的子包路径下 @SpringBootApplication(scanBasePackages="com.jo ...
- 算法——001BitMap(位图)算法
哈希表在查找定位操作上具有O(1)的常量时间,常用于做性能优化,但是内存毕竟是有限的,当数据量太大时用哈希表就会内存溢出了.而考虑对这些大数据进行存盘分批处理又有IO上的开销,性能又不能满足要求.这个 ...
- 再说项目 Dec 27th 2018
其实对于任何项目来说,最难不是开发或者系统等技术的问题,反而是需求的问题,需求一直变,一直定不下来,导致流程变来变去,系统方案层面也确定不下来.而需求的问题,归根结底还是人的问题.项目的关键用户对现有 ...
- DOM随时记
1.node-type 返回元素的节点类型:可以在标签上进行设置 node-type="item" ---来自新浪微博的首页写法
- Python-Thread(通俗易懂)
此类表示在单独的控制线程中运行的活动,有两种方法可以指定该活动,一是将可调用对象传递给构造函数,二是通过覆盖子类中的run()方法. 如果你对线程不太理解,我们可以打个比方,把线程数看作车辆数,我们来 ...
- react-native上手篇
根据公司发展,后期可能要做APP开发,所以了解一下react-native.之前工作用过react,所以想想应该不会太难.(结果配置环境和demo就搞了一天!) 1,搭建环境 官网地址 1,Node( ...
- 2. spring定时任务
1.添加命名空间 <!-- 定时注解驱动 --> <task:annotation-driven /> <!-- 进行定时任务的类,将其定义为一个bean --> ...
- HTTP客户端识别与Cookie机制
HTTP识别用户的几种技巧 承载用户身份信息的HTTP首部 客户端IP地址跟踪,通过用户的IP地址对其进行识别 用户登录,用认证方式识别用户 胖URL,一种在URL中潜入识别信息的技术 cookie, ...
- 性能测试进阶指南——基础篇之磁盘IO
本文旨在帮助测试人员对性能测试常用指标做一个简单的讲解,主要包括CPU.内存.磁盘和网络带宽等系统资源,本文仅仅局限于Linux系统,Windows Server系统暂不做考虑. 使用iostat分析 ...