MySQL 视图

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

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

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_result
AS 
SELECT s.studentNo 学生编号,studentName 学生姓名,
studentResult 考试成绩
FROM  student s,result r
WHERE s.`studentNo`=r.`studentNo`
--  查询视图中的内容
SELECT * FROM view_student_result
-- 查询mysql数据库中所有的视图
SELECT * FROM information_schema.views;
--  删除视图
DROP  VIEW view_student_result;
--  创建一个表的视图  学生姓名,地址,手机号
CREATE VIEW  view_student 
AS
SELECT  studentName 学生姓名,address 地址,phone 手机号
FROM  student
-- 查询视图
SELECT  * FROM view_student  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

INTERVAL分区升级了,你知道吗?!

辑手记: Oracle 11g新增的INTERVAL分区使得手工给RANGE分区添加新分区的工作变得异常简单,这也使得INTERVAL分区成为RANGE分区的最...

2655
来自专栏Java成神之路

Oracle学习笔记_04_多表查询

                                    (1)内连接           vs          外连接 (左、右、满)

753
来自专栏运维技术迷

MySQL数据库(五):索引

一.什么是索引 相当于一本数的目录 二.使用索引的好处和坏处 好处:加快查找速度 坏处:占用磁盘空间 三.查看索引命令 命令格式: show inde...

2669
来自专栏后端技术探索

分表查询统计的一个具体案例

问题描述 mysql数据库在数据量较大的情况下,对数据表进行水平分表,按照年份,如下:

421
来自专栏闻道于事

PL/SQL 编程(一)基础,变量,分支,循环,异常

SQL和PL/SQL: SQL 结构化查询语言(Structural Query Language),是用来访问和操作关系型数据库的一种标准通用语言,属于第四代...

2578
来自专栏Python

Mysql-2

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" I...

2055
来自专栏python3

mysql-索引

数据库中专门用于帮助用户快速查找数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置吗,然后直接获取

572
来自专栏青枫的专栏

MySQL学习小结

731
来自专栏别先生

MySql的基本操作以及以后开发经常使用的常用指令

第一章:数据类型和操作数据表 MySQL语句的规范 (1):关键字与函数名称全部大写 (2):数据库名称,表名称,字段名称全部小写 (3):SQL语句必须以分号...

18210
来自专栏Java帮帮-微信公众号-技术文章全总结

​【数据库】MySQL进阶三、游标简易教程

【数据库】MySQL进阶三、游标简易教程 mysql游标简易教程 从mysql V5.5开始,进行了一次大的改变,就是将InnoDB作为默认的存...

3997

扫码关注云+社区