这是对自己学习燕十八老师mysql教程的总结,非常感谢燕十八老师。

依赖软件:mysql5.6

系统环境:win

视图(view)

什么是视图?

答:视图是表通过某种运算得到的一个投影,占有一定空间的虚拟表

视图的作用

1、简化查询

2、权限管理

3、数据量大时利用视图进行分表

视图的创建

# 语法
create (algorithm=marge/temptable/undefined) view 视图名 as select语句
# 示例
create view test as
select goods_id,cat_id,shop_price,goods_name
from goods;

删除视图

# 语法
drop view 视图名 # 示例
drop view test;

视图的修改

# 语法
alter view 视图名 as select语句 # 示例
alter view test as
select goods_id,cat_id,goods_name
from goods;

视图与表的关系

视图是表的查询结果,自然表的数据改变了,影响视图的结果

反之

视图的数据改变了也会影响表的数据,但是视图并不是一定能被修改的

修改视图的条件

视图的数据必须和表的数据一一对应,就像数学中函数的映射

视图中的algorith

1、merge:  当引用视图时,引用视图的语句和定义视图的语句合并产生作用

# 示例
# 创建视图的语句:
create algorithm=merge view g2 as
select goods_id,cat_id,goods_name,shop_price
from goods where shop_price> # 查询视图的语句:
select * from g2 where shop_price < ; # 最终执行的语句:
select goods_id,cat_id,goods_name,shop_price
from goods
where shop_price > and shop_price <

2、temptable:  当应用视图时,更加视图的创建语句建立一张临时表

# 示例
# 创建视图
create algorithm=temptable view g2 as
select goods_id,cat_id,goods_name,shop_price from goods
where shop_price > #查询视图的语句:
select * from g2 where shop_price < ; # 最终执行的2句话: 取数据并放在临时表,然后去查临时表.
Select goods_id,cat_id,goods_name,shop_price from goods where shop_price > ;
========> temptable # 再次查临时表
Select * from temptable where shop_price<

3、undefined:未定义,系统帮你选择

 

如有错误 欢迎指正

mysql--浅谈视图1的更多相关文章

  1. sql之浅谈视图的作用

    [数据库]☆★sql之浅谈视图的作用 在一个项目的实际开发过程中牵涉到复杂业务的时候,我们不可避免的须要使用中间表来进行数据连接,有的同学就说了,我能够採用Hibernate进行主外键进行关联啊?多对 ...

  2. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...

  3. MySQL浅谈 LEFT JOIN

    On条件(在“A left join b on conditional_expr”)决定如何从table B 中检索数据行(Matching-State); 如果B中没有行匹配On 条件,额外的B的所 ...

  4. mysql浅谈--事务ACID特性

    mysql MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管 ...

  5. sql语句浅谈以及mysql遇到的问题解决见解

    mysql数据库基本操作: .显示数据库和查看mysql版本 show databases; select version(); select user();查看用户 .选择数据库 use 数据库名; ...

  6. MySql主从配置实践及其优势浅谈

    MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...

  7. 浅谈mysql主从复制的高可用解决方案

    1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID" ...

  8. Linux CentOS下MySQL的安装配置之浅谈

    前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS   MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...

  9. 浅谈mysql innodb缓存策略

    浅谈mysql innodb缓存策略: The InnoDB Buffer Pool Innodb 持有一个存储区域叫做buffer pool是为了在内存中缓存数据和索引,知道innodb buffe ...

  10. 浅谈MySQL存储引擎-InnoDB&MyISAM

    存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取.MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式是不同的.每一种存储引擎都有它的优势和劣势,本文只讨论最常见 ...

随机推荐

  1. bapi_goodsmvt_create-GR

    BAPI_GOODSMVT_CREATE 使用方法 * GMCODE Table T158G - - MB01 - Goods Receipts for Purchase Order * - MB31 ...

  2. qt使用中的一些问题(linux)

    ui_xxx.h的问题 工程中(工作空间)中包含的ui_xxx.h文件是系统自动生成的.这个是xxx.ui的创建文件来的,xxx.ui界面上的都是ui_xxx.h在控制的,在项目里是不显示这个头文件的 ...

  3. Android Weekly Notes Issue #240

    Android Weekly Issue #240 January 15th, 2017 Android Weekly Issue #240 Hello, 各位亲, 从本篇笔记开始, 以后并不包含An ...

  4. win7 64位系统与Ubuntu14.04 64位系统双系统安装【转】

    本文转载自:http://blog.csdn.net/strugglepeach/article/details/51260886 Window 7 + Ubuntu 双系统安装   硬件: Thin ...

  5. 让ansbile和docker愉快的在一起

    引自: http://cloud.51cto.com/art/201510/494328.htm

  6. 配置JDK和Tomcat环境变量(转)

    1.安装JDK 安装好JDK后,再配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”. 新建系统变量JAVA_HOME:C:/Program ...

  7. 理解 Android Fragment

    /***************************************************************************************** * 理解 Andr ...

  8. c/c++生成预编译文件

    Preprocesses C and C++ source files and writes the preprocessed output to a file.   /P Remarks The f ...

  9. BZOJ_1296_[SCOI2009]粉刷匠_DP

    BZOJ_1296_[SCOI2009]粉刷匠_DP Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能 ...

  10. ubuntu bcompare 安装

    Terminal Install wget http://www.scootersoftware.com/bcompare-4.2.8.23479_amd64.deb sudo apt-get upd ...