博客
关于我
【MySQL】(八)视图
阅读量:362 次
发布时间:2019-03-05

本文共 588 字,大约阅读时间需要 1 分钟。

1. 什么是视图

视图是数据库中由真实的数据表查询语句定义而成的一种虚拟表,视图本身不存储数据只是存储查询数据的定义。

2. 视图的优点是什么

首先申明一点,视图本身的查询和直接作为定义的sql联表查询的效率事实上没有什么区别。所以不要指望使用视图,能给你提升多大的效率。

可以看得见的优点暂时只找到了三点

(1) 比如你程序发送查询语句给数据库服务器的时候,用视图传输的语句字节数更少
(2) 程序上的代码写的更少了,更容易读懂视图查询所需要的字段,不必考虑多表查询的细节
(3) 多表更新字段或减少冗余时,你不必修改程序,只需要更新视图即可

3. 视图的使用

[1] 创建视图

create view view_name as 你复杂的查询语句;

扩展:我们可以使用指定的算法来创建视图

create ALGORITHM=TEMPTABLE view view_name as 你复杂的查询语句;create ALGORITHM=MERGE view view_name as 你复杂的查询语句;

TEMPTABLE 临时表模式 只能查询不能更新

MERGE 合并替换模式 在更新视图中的数据时,会同时更新真实表中的数据(不指定系统会默认使用)

[2] 删除视图

drop view view_name;

[3] 使用视图

select * from view_name;

转载地址:http://urng.baihongyu.com/

你可能感兴趣的文章
MUI之ajax获取后台接口数据
查看>>
使用sqlserver 查询不连续的数据
查看>>
用div+css+html+js 实现图片放大
查看>>
(原创)在Linux上安装运行Python3(CentOS7为例)
查看>>
weblogic之cve-2015-4852
查看>>
Java注释
查看>>
水调歌头·1024
查看>>
C++ 函数重载
查看>>
Nginx简介
查看>>
Nginx的Gzip功能
查看>>
Azure Storage 系列(四)在.Net 上使用Table Storage
查看>>
a instanceof A:判断对象a是否是类A的实例。如果是,返回true;如果不是,返回false
查看>>
abstract关键字的使用
查看>>
.NET微信网页开发之使用微信JS-SDK调用微信扫一扫功能
查看>>
解决Spirng注入时名称下的红色波浪线
查看>>
EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public?
查看>>
使用mybatis-generator生成底层
查看>>
Android APK 重签名
查看>>
Mybatis【3】-- Mybatis使用工具类读取配置文件以及从属性读取DB信息
查看>>
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
查看>>