博客
关于我
MySQL 视图
阅读量:444 次
发布时间:2019-03-06

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

数据库视图是虚拟表或逻辑表,它被定义为具有的SQL 查询语句。 因为数据库视图与数据库表类似,它由行和列组成,因此可以根据数据库表查询数据。 大多数数据库管理系统(包括MySQL)允许您通过具有一些先决条件的数据库视图来基础表中的数据。

数据库视图是动态的,因为它与物理模式无关。数据库系统将数据库视图存储为具有连接的语句。当表的数据发生变化时,视图也反映了这些数据的变化。

1.视图: 就是一张虚拟表,本质上存储的是一对SQL的集合

--  视图 是一张虚拟的表

   01.表示一张表的部分数据或者是多张表的综合数据!
   02.结构和数据都是建立在对真表的查询基础之上的!
   03.视图中存放的数据其实就是对真实表的引用!
     对视图中的数据进行添加,更新删除都会影响到真实的表!
   04.一个真实的表可以创建N个视图!
   05.如果视图关联了多表,不允许增 删!单表可以增删改
   06.视图一般都是使用查询!

2.定义视图的语法:

create view VW_stulist(VW_视图的功能)
as
sql语句
 小Tip:当多表中有同名列的时候,在视图这个虚拟表中,只能有一列。手工指定该列是哪个表的

3.视图的使用 和检索基本表一样,直接通过select

select * from VW_stulist

4.删除视图

drop view 视图名
drop table
drop database
drop index
drop constraint
归根结底:drop  删除是结构   delete 删除数据

 

5.查看所有库所有视图

 5.1.切换到系统数据库

  use information_schema

 5.2.select * from views \G;

 6.查看当前库的所有视图

   show tables status where comment='view'

 7.视图注意事项

1)视图可以查询多表数据
2)视图可以嵌套
3)update,insert,delete不能封装成视图内容,通过图形化界面可以操作数据(操作视图数据,影响的是基本表)。
4)删除视图数据的时候,有一定的限定,数据结果来源于多表的时候,不能删除

 

--  创建一个视图  只获取 学生姓名 编号 以及考试成绩CREATE  VIEW view_student_resultAS SELECT s.studentNo 学生编号,studentName 学生姓名,studentResult 考试成绩FROM  student s,result rWHERE s.`studentNo`=r.`studentNo`--  查询视图中的内容SELECT * FROM view_student_result-- 查询mysql数据库中所有的视图SELECT * FROM information_schema.views;--  删除视图DROP  VIEW view_student_result;--  创建一个表的视图  学生姓名,地址,手机号CREATE VIEW  view_student ASSELECT  studentName 学生姓名,address 地址,phone 手机号FROM  student-- 查询视图SELECT  * FROM view_student 

 

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

你可能感兴趣的文章
nginx+tomcat单个域名及多个域名配置
查看>>
Nginx+Tomcat实现动静分离
查看>>
nginx+Tomcat性能监控
查看>>
nginx+uwsgi+django
查看>>
nginx+vsftp搭建图片服务器
查看>>
Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
查看>>
nginx-vts + prometheus 监控nginx
查看>>
Nginx/Apache反向代理
查看>>
Nginx: 413 – Request Entity Too Large Error and Solution
查看>>
nginx: [emerg] getpwnam(“www”) failed 错误处理方法
查看>>
nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:
查看>>
nginx: [error] open() “/usr/local/nginx/logs/nginx.pid“ failed (2: No such file or directory)
查看>>
nginx:Error ./configure: error: the HTTP rewrite module requires the PCRE library
查看>>
Nginx:objs/Makefile:432: recipe for target ‘objs/src/core/ngx_murmurhash.o‘解决方法
查看>>
nginxWebUI runCmd RCE漏洞复现
查看>>
nginx_rtmp
查看>>
Vue中向js中传递参数并在js中定义对象并转换参数
查看>>
Nginx、HAProxy、LVS
查看>>
nginx一些重要配置说明
查看>>
Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化......
查看>>