1. 二、视图
  2.  
  3. 视图是一种虚拟的表,是从数据库中的一个或者多个表中导出来的表。
  4.  
  5. 视图还可以从已经存在的视图的基础上定义。
  6.  
  7. 数据库中只存放了视图的定义,并没有存放视图中的数据,这些数据存放在原来的表中。
  8.  
  9. 使用视图查询数据时,数据库会从原来的表中取出对应的数据,因此,视图中的数据是依赖于原来的表中的数据。
  10.  
  11. 一旦原表中的数据发生改变,则显示在视图中的数据也会发生改变。
  12.  
  13. 视图的作用:视图是在原有的表或者视图的基础上重新定义的虚拟表,这样可以从原有的表中选取对用户有用的信息。
  14.  
  15. 1、创建视图
  16.  
  17. 视图可以建立在一张表上,也可以建立在多张表上
  18.  
  19. 语法格式:
  20. create [ algorithm = { undefined | merge | temptable} ]
  21.  
  22. view 视图名 [(属性清单)]
  23.  
  24. as select 语句
  25.  
  26. [ with { cascaded | loocal } check option ];
  27.  
  28. algorithm是可选参数,表示视图选择的算法
  29.  
  30. 视图名参数表示需要创建的视图的名称;
  31.  
  32. 属性清单参数是可选参数,其指定了视图中各个属性的名词;默认情况下,与select语句中查询的属性相同;
  33.  
  34. select语句参数是一个完整的查询语句,表示从某个表中查询出满足条件的记录,并将这些记录导入视图中;
  35.  
  36. with check option是可选参数,表示更新视图时,要保证在该视图的权限范围内;
  37.  
  38. cascaded是可选参数,表示更新视图时,要满足所有相关视图和表的条件,该参数为默认值;
  39.  
  40. local表示更新视图时,只要满足该视图本身的定义条件即可;
  41.  
  42. 1)在单表上创建视图
  43.  
  44. 举例1 create view department_view1 as select * from department
  45.  
  46. 查询department_view1视图的表结构:desc department_view1;
  47.  
  48. 注释:视图department_view1表的属性与department表的属性完全一样,因为在未指定定义视图的属性列表的情况下,
  49.  
  50. 视图的属性名与select语句查询的属性名相同。
  51.  
  52. 举例2create view department_view2(name,fuction,location) as select d_name,fuction,address from department;
  53.  
  54. 视图department_view2的属性列名分别为:name,fuction,location。因为在创建视图时,指定了属性列表。
  55.  
  56. 视图的属性名与属性列表中的属性名相同。
  57.  
  58. 2)在多表上创建视图
  59.  
  60. 举例:create algorithm=merge view worker_view1 (name,department,sex,age,address)
  61.  
  62. as select name,department.d_name,sex,2009-birthday,address
  63.  
  64. from worker,department where worker.d_id=departmnet.d_id
  65.  
  66. with local check option;
  67.  
  68. 2、查看视图
  69.  
  70. 1describe语句查看视图基本信息
  71.  
  72. 语法格式:describe 视图名; 可以简写为:desc 视图名;
  73.  
  74. 此语句可以简单了解视图中的各个字段的简单的信息
  75.  
  76. 2show table status语句查看视图基本信息
  77.  
  78. 语法格式:show table status like '视图名';
  79.  
  80. like表示后面匹配的是字符串;
  81.  
  82. 视图名参数指需要查看的视图的名称,需要用单引号引起了;
  83.  
  84. 3show create view语句查看视图详细信息
  85.  
  86. 语法格式:show create view 视图名;
  87.  
  88. 4)在views表中查看视图详细信息
  89.  
  90. MYSQL中,所有视图的定义都存储在information_schema数据库下的views表中。
  91.  
  92. 查询views表,可以查看到数据库中所有视图的详细信息。
  93.  
  94. 语法格式:select * from information_schema.views;
  95.  
  96. 3、修改视图
  97.  
  98. 修改视图是指修改数据库中已经存在的表的定义。
  99.  
  100. 当基本表的某些字段发生改变时,可以通过修改视图来保持视图和基本表之间的一致;
  101.  
  102. (1)create or replace view语句修改视图
  103.  
  104. 语法格式:
  105. create or replace [ algorithm = { undefined | merge | temptable} ]
  106.  
  107. view 视图名 [(属性清单)]
  108.  
  109. as select 语句
  110.  
  111. [ with { cascaded | loocal } check option ];
  112.  
  113. 2alter语句修改视图
  114.  
  115. 语法格式:
  116. alter [ algorithm = { undefined | merge | temptable} ]
  117.  
  118. view 视图名 [(属性清单)]
  119.  
  120. as select 语句
  121.  
  122. [ with { cascaded | loocal } check option ];
  123.  
  124. 4、更新视图
  125.  
  126. ***************************************************
  127.  
  128. 5、删除视图
  129.  
  130. 删除视图是指删除数据库中已经存在的视图的定义;删除视图时,只能删除视图的定义,不会删除数据
  131.  
  132. 语法格式:drop view [if exists] 视图名列表;
  133.  
  134. if exists参数指判断视图是否存在,如果存在则执行,否则不执行,
  135.  
  136. 视图名列表参数表示要删除的视图的名称列表,各个视图名称之间用逗号隔开;

mysql——视图——概念的更多相关文章

  1. MySQL视图(view)

    一.基本概念 视图是一个虚拟表,是sql的查询结果,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成.视图的数据变化会影响到基表,基表的数据变化也会影响到视图 ...

  2. mysql 视图,触发器,存储

    一.视图 概念:其实就是一个临时表. 视图是一个虚拟表(非真实存在的),其本质是[根据SQL语句获取动态的数据库,并为其命名],用户使用时只需使用[名称]即可获取结果集.就可以当做表来使用. # 1. ...

  3. MySQL事务概念与流程和索引控制

    MySQL事务概念与流程和索引控制 视图 1.什么是视图 我们在执行SQL语句其实就是对表进行操作,所得到的其实也是一张表,而我们需要经常对这些表进行操作,拼接什么的都会产生一张虚拟表,我们可以基于该 ...

  4. Mysql 视图 游标 触发器 存储过程 事务

    Mysql 视图 触发器 存储过程 游标 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中 ...

  5. MySql基本概念(一)

    MySQL基本概念 一. 数据库系统概述: mysql是数据库系统的一种,下面是所有数据库系统中主要的组件. 数据库系统由硬件部分和软件部分构成,硬件主要用于存储数据库中的数据,包括计算机.存储设备. ...

  6. Mysql视图的作用及其性能分析

    定义:视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表. 作用: 1.简化操作,不用进行多表查询. 2.当不同种类的用用户共享同一个数据库时,非常灵活,(用户以不同的 方式看待同一数据. ...

  7. MYSQL视图的学习笔记

    MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具   1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...

  8. 深入解析MySQL视图view

    阅读目录---深入解析MySQL视图view 创建视图 查看视图 视图的更改 create or replace view alter DML drop 使用with check option约束 嵌 ...

  9. MySQL视图view/存储过程和函数的使用

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

随机推荐

  1. 【LuoguP4887】第十四分块(前体)

    题目链接 题意 区间两数异或在二进制下有 \(k\) 个 \(1\) 的对数. Sol 普通莫队的话,如果要实时维护好区间内的答案需要支持区间对一个数求答案. 直接做不是很好做,容易发现其实这也就是一 ...

  2. 【MongoDB系列】简介、安装、基本操作命令

    文章内容概述: 1.MongoDB介绍 2.MongoDB安装(windows及Linux) 3.MongoDB基本操作命令 MongoDB介绍: MongoDB 是一个基于分布式文件存储的数据库.由 ...

  3. 「SCOI2015」小凸玩矩阵

    题目链接 问题分析 题目给了充足的暗示,我们只需要二分答案然后跑匈牙利即可.要相信匈牙利的速度 参考程序 #include <bits/stdc++.h> using namespace ...

  4. 安装破解confluence6.7.1(插图丢了,一直懒得补)

      JIRA安装:https://www.cnblogs.com/wei9593/p/10194784.html 1环境: centos7.2 java-1.8https://www.cnblogs. ...

  5. jar 在windows 启动服务,卸载服务,停止端口

    参考:https://www.cnblogs.com/zhuchunlei/p/9469569.html 1,启动服务  install.bat @echo off SET JAVA_HOME=&qu ...

  6. request.getAttribute()和request.getParameter()两个方法的区别

    request.getAttribute()获得的数据必须曾经有过setAttibute()过: 而request.getParameter()获得是客户端POST或者GET请求时所携带的参数的值 g ...

  7. C++入门经典-例3.5-判断某一年是否是闰年之嵌套判断

    1:代码如下: // 3.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  8. java学期总结

    第一周https://www.cnblogs.com/sqhe2000/p/11482760.html. 第二周https://www.cnblogs.com/sqhe2000/p/11521023. ...

  9. 1.zookeeper原理解析-数据存储之Zookeeper内存结构

    Zookeeper是怎么存储数据的,什么机制保证集群中数据是一致性,在网络异常,当机以及停电等异常情况下恢复数据的,我们知道数据库给我们提供了这些功能,其实zookeeper也实现了类似数据库的功能. ...

  10. centos7 php5.5 mongodb安装

    1.下载最新php MongoDB扩展源码 https://pecl.php.net/package/mongodb 最新的1.6不支持PHP5.5,得用老版本,1.5.5 wget https:// ...