MySQL视图入门浅析

栏目: 数据库 · 发布时间: 6年前

内容简介:一. 什么是视图视图是一种虚拟存在的表,行和列数据来自,定义视图的查询中使用的表,并且是在使用视图时动态生成的。优势有:简单: 使用视图的用户完全不需要关心后面对应的表的结构,关联条件,筛选条件。

一. 什么是视图

视图是一种虚拟存在的表,行和列数据来自,定义视图的查询中使用的表,并且是在使用视图时动态生成的。优势有:

简单: 使用视图的用户完全不需要关心后面对应的表的结构,关联条件,筛选条件。

安全:使用视图的用户只能访问他们被允许查询的结果集。

数据独立: 源表增加列对视图没有影响,源表修改列名,则通过修改视图 对应好源表的列名来解决,不会造成对访问者的影响。

1.1 创建视图的操作

-- 创建视图

CREATE  OR REPLACE VIEW view_city

AS

SELECT * FROM city;

-- 查询视图

SELECT * FROM view_city;

MySQL视图入门浅析

1.2 修改视图

-- 修改视图

ALTER VIEW view_city

AS

SELECT  cityname FROM city;

MySQL视图入门浅析

1.3 限制

视图一般只是用来做查询使用,如果要对视图做修改有如下限制不能更新:

包含关键字 聚合函数(sum,min,max,count等),distinct,group by , having,union ,union all。

常量视图。

select 中包含子查询。

jion。

from 一个不能更新的视图。

where 字句的子查询引用了from字句的表。

LOCAL 是只要满足本视图的条件就可以更新, CASCADED 则是必须满足所有针对该视图的所有视图的条件才可以更新, 如果没有明确是LOCAL 还是CASCADED,则默认是CASCADED,由于视图基本不做修改,这里就不在演示。

-- local与CASCADED 语法

CREATE  OR REPLACE VIEW view_city

AS

SELECT * FROM city;

-- with(local | CASCADED)  CHECK OPTION;

1.4  删除视图

drop view view_city;

1.5 查看视图

MySQL视图入门浅析

--  查看视图的定义

SHOW CREATE VIEW view_city

MySQL视图入门浅析

-- 查看视图的定义

SELECT * FROM information_schema.views WHERE table_name = 'view_city'

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-09/154348.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data-intensive Text Processing With Mapreduce

Data-intensive Text Processing With Mapreduce

Jimmy Lin、Chris Dyer / Morgan and Claypool Publishers / 2010-4-30 / USD 40.00

Our world is being revolutionized by data-driven methods: access to large amounts of data has generated new insights and opened exciting new opportunities in commerce, science, and computing applicati......一起来看看 《Data-intensive Text Processing With Mapreduce》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换