转载地址:http://www.2cto.com/database/201212/176775.html

一、视图的基本介绍  www.2cto.com  
视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。
使用视图需要MySQL5及以后的版本支持。
下面是视图的一些常见应用:
重用SQL语句;
简化复杂的SQL操作;
使用表的组成部分而不是整个表;
保护数据;
更改数据格式和表示;
在视图创建之后,可以用与表基本相同的方式利用它们。
但对于大量的复杂或嵌套视图,性能可能下降得很厉害。因此在部署相应的应用前,应进行充分的测试。
二、使用视图的规则和限制
与表一样,视图必须唯一命名(不能给视图取与别的视图或表相同的名字);
对于可以创建的视图数目没有限制;
为了创建视图,必须具有足够的访问权限;
视图可嵌套;
ORDER BY可以用在视图中;
视图不能索引,也不能有关联的触发器或默认值;
视图可以和表一起使用;
三、使用视图
1、创建视图
create  view view_name
AS
select 语句
示例:
mysql> create or replace view v_pic_url
-> as
-> select
->     id,url
-> from v9_picture
-> where catid=17;
2、查看创建视图的语句
SHOW CREATE VIEW viewname;
示例:
mysql> show create view v_pic_url;
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| View      | Create View                                                                                                                                                                                                     | character_set_client | collation_connection |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| v_pic_url | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_pic_url` AS select `v9_picture`.`id` AS `id`,`v9_picture`.`url` AS `url` from `v9_picture` where (`v9_picture`.`catid` = 17) | latin1               | latin1_swedish_ci    |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
3、删除视图
DROP VIEW viewname;
示例:
mysql> drop view v_pic_url;
4、更新视图结构
可以先将视图DROP,再使用CREATE语句创建;
也可以直接使用CREATE OR REPLACE VIEW语句;
四、更新视图数据
通常,视图是可更新的(即,可以对它们使用INSERT、UPDATE和DELETE)。更新一个视图将更新其基表。如果对视图增加或删除行,实际上是对其基表增加或删除行。
但是,并非所有视图都是可更新的。如果视图定义中有以下操作,则不能进行视图的更新:
分组(使用GROUP BY和HAVING);
联结;
子查询;
并;
聚焦函数;
DISTINCT;
导出(计算)列;
一般,应该将视图用于检索而不用于更新。

转载于:https://www.cnblogs.com/csshaw/p/3719067.html

【转】MYSQL入门学习之十:视图的基本操作相关推荐

  1. SQL零基础入门学习(十六)

    SQL零基础入门学习(十五) SQL函数 SQL MAX() 函数 MAX() 函数返回指定列的最大值. SQL MAX() 语法 SELECT MAX(column_name) FROM table ...

  2. MySQL入门学习的第一节(SQL语句)

    MySQL入门学习的第一节(SQL语句) SQL语句

  3. php入门教程ppt,PHP与MySQL入门学习指南.ppt

    <PHP与MySQL入门学习指南.ppt>由会员分享,可在线阅读,更多相关<PHP与MySQL入门学习指南.ppt(18页珍藏版)>请在人人文库网上搜索. 1.PHP5與MyS ...

  4. SQL零基础入门学习(十)

    SQL零基础入门学习(九) SQL CREATE DATABASE 语句 CREATE DATABASE 语句用于创建数据库. SQL CREATE DATABASE 语法 CREATE DATABA ...

  5. SQL零基础入门学习(十四)

    上篇:SQL零基础入门学习(十三) SQL NULL 值 NULL 值代表遗漏的未知数据. 默认地,表的列可以存放 NULL 值. 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新 ...

  6. 考研二战失败 我的从零开始Java入门学习(十)

    文章目录 一.集合 1.Collection集合类 1.1 Collection集合类方法 1.2 Collection的子类 2.Map集合类 2.1 Map集合类方法 2.2 Map类的子类 3. ...

  7. SQL零基础入门学习(十二)

    SQL零基础入门学习(SQL约束) SQL CREATE INDEX 语句 CREATE INDEX 语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 索引 ...

  8. MySQL深入学习(十四):视图

    本文参考:康师傅-MySQL数据库教程天花板,mysql安装到mysql高级,强!硬! 文章目录 一.常见的数据库对象 二.视图概述 2.1 为什么使用视图? 2.2 视图的理解 三.创建视图 3.1 ...

  9. MySQL入门学习教程

    文章目录 1.初始MySQL 1.1.为什么学数据库 1.2.什么是数据库 1.3.数据库分类 1.4.MySQL简介 1.5.安装MySQL 1.6.连接数据库 2.操作数据库 2.1.操作数据库 ...

最新文章

  1. Spring使用环境变量控制配置文件加载(转)
  2. spring-mvc注解
  3. c#后台修改前台DOM的css属性
  4. 【音乐理论】音与音高 ( 音域 | 音符表示 )
  5. maven的离线模式
  6. 顶级c程序员之路 基础篇 - 第一章 关键字的深度理解 number-1
  7. 使计算机系统使用方便和_______是操作系统的两个主要设计目标,操作系统练习.doc...
  8. 把冰卖给爱斯基摩人_爱斯基摩人使用冰屋应用程序来节省资源
  9. Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果...
  10. 海量图片去重算法-局部分块Hash算法
  11. Linux编译安装qemu
  12. OpenCV基础——IplImage中的widthStep
  13. 算法设计与分析基础知识总结——dayOne
  14. 英文参考文献的正确引用格式详解
  15. 初中计算机课件flash,初中数学flash课件(共100个)
  16. 关于对CSDN这些技术博客类网站的一些个人看法
  17. 王者荣耀s16服务器维护,王者荣耀:S16单排环境依旧差劲 五大原因戳到很多人的痛点...
  18. Spring 定时器时间设置规则
  19. 计算机夏令营英语面试,2016北航计算机夏令营的经验
  20. 自控原理入门详解**********

热门文章

  1. java 中的单元测试_浅谈Java 中的单元测试
  2. yii2 模型中set_Day184:人脸识别中open-set与close-set
  3. access update语句执行_MySQL 中 update 修改数据与原数据相同会再次执行吗?
  4. java 限制文本框长度_java中限制文本框输入长度的显示(转载)
  5. 侏罗纪怪兽世界怎么登陆服务器未响应,全金属怪物进不去怎么解决
  6. linux ubuntu安装 mono,在Ubuntu 18.04系统中安装Mono及基本使用Mono的方法
  7. json java typeof_java解析json
  8. 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义
  9. opencv线性插值(上采样)
  10. Linux那些事儿 之 戏说USB(4)最终奥义