mysql数据库视图(五)

1、数据中的视图

视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

2、视图的由来

关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询需要将多个表连接起来进行查询任务。对于复杂的查询事件,每次查询都需
要编写MySQL代码效率低下。为了解决这个问题,数据库提供了视图(view)功能。

3、mysql视图相关操作

##创建视图
create view 视图名(列1,列2...) as select (列1,列2...) FROM table_name;
##修改视图
create or replace view  view_user as select school from demo;
##查看所有视图
show tables;通过show tables;反馈得到所有的表和视图;同样的,我们可以通过模糊检索的方式专门查看视图,这个时候,视图的命令统一采用v_视图名的优势就体现出来了。 例如:show tables like ‘v%‘;
##查看视图详情
desc view_name;

4、视图的运用

1、视图是虚拟表,本身不存储数据,而是按照指定的方式进行查询;
2、使用视图和使用表完全一样,只需要把视图当成一张表就OK了。视图是一张虚拟表;
3、表中数据变化后,在通过视图检索,得到的结果也同步发生了变化;视图不是表,不保存数据,它只是一张虚拟表;4、可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。

5、视图使用的注意点

1、视图不是表,不直接存储数据,是一张虚拟的表;
2、一般情况下,在创建有条件限制的视图时,加上“with check option”命令。

原文地址:https://www.cnblogs.com/newbest/p/9736943.html

时间: 2024-10-11 08:14:38

mysql数据库视图(五)的相关文章

MySQL数据库视图

day05 MySQL数据库视图 一.视图概述: 视图是一个虚拟表,是从数据库中一个或多个表中导出来的表,内容是由查询定义的.数据库中只存在视图的定义,而没有相关的数据,这些数据四存放在原来的表中.因此,视图是依赖于原来的表中的数据,表中数据改变,视图中的数据也会改变. 视图的作用: 1.具有简单性. 2.具有安全性. 3.逻辑数据独立性. 二.视图: 1.创建视图:         create view 视图名 as select * from 表名;  注意事项: 1.运行创建视图的语句需

mysql数据库优化五步走

MySQL数据库是一种小型关系型数据库管理系统,MySQL数据库的优化是MySQL数据库操作过程中非常重要的工作,MySQL数据库的优化能够实现MySQL数据库操作的简便. 第一步: 1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者把数据分散存储. 2:硬盘的读写速度,这个速度非常的快,这个更容易解决--可以从多个硬盘上并行读写. 3:cpu.cpu处理内存中的数据,当有相对内存较小的表时,这是最常见的限制因素.

mysql数据库视图连接出现2003····错误

MySQL利用视图工具连接数据库时出现2003····错误                                                  原因:MySQL的服务没有开启 解决步骤: 1.启动任务管理器(可 单击任务栏空白处) 2.找到服务  --->MySQL  启动 3.再重新打开连接

MySQL数据库(五)—— 用户管理、pymysql模块

用户权限管理.pymysql模块 一.用户管理(权限管理) 在MySQL中自带的mysql数据库中有4个表用于用户管理的 # 优先级从高到低 user > db > tables_priv > columns_priv user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段 db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段 tables_priv #该表放行的权限.针对:某一张表,以及该表下的所有字段 columns_priv #该

Mysql数据库(五)表记录的检索

一.基本查询语句 二.单表查询 1.查询所有字段 mysql> SELECT * FROM tb_bookinfo; +----------+-----------+--------+-----------+------+-------+------+----------+------------+------+----+ | barcode | bookname | typeid | author | ISBN | price | page | bookcase | inTime | del

MySQL 数据库视图:视图定义、创建视图、修改视图

简介 1·视图的概念2·创建视图3·使用视图 1·视图的概念什么是视图,一下咱们举个例子: 一个老板想要了解几个仓库的具体信息,想知道几个仓库里面还有多少大米.面粉.有多少种类,于是派出一个得力干将小王去清点货物,小王跑了很远之后终于清点完毕回报给老板.由于老板的生意很好,仓库的里面的东西经常发生变化,这时老板又需要知道几个仓库里的库存明细,又派小王去清点.这样来来回回,老板觉得小王台辛苦,也不容易,老板就多顾了几个人,A员工看守仓库1,B员工看守仓库2,C员工看守仓库3.这样就不需要来来回回跑

MySQL数据库实验五:数据更新

实验五   数据更新 一.实验目的 掌握数据更新操作的用法. 二.实验环境 三.实验示例 1.?往基本表SC中插入元组. ①    INSERT INTO S(S#,SNAME,AGE,SEX) VALUES('S36','GU',20,'M'): ②   INSERT INTO SC(S#,C#) VALUES('S5','C8'): ③        INSERT INTO SC VALUES('S4','C4',85), ('S3','C6',90), ('S7','C2',70): ④

【数据库】MySQL数据库(五)

一.DCL语句 1.添加权限: 1 grant select,insert on sakila.* to 'z1'@'localhost' identified by '123'; 2 注:sakili为数据库名,z1为新创建的数据库用户,123为密码 数据库添加权限 2.权限收回: 1 revoke insert on sakila.* from 'z1'@'localhost'; 权限收回 二.外键 1.外键的索引类型: (1) RESTRICT:限制在子表有关联记录的情况下父表不能更新.

MySQL数据库(五)—— 多表查询

一.准备sql # 创建部门表 create table dept ( id int primary key auto_increment, name varchar(20) ); insert into dept (name) values ('开发部'), (‘市场部’), ('财务部'); # 创建员工表 create table emp ( id int primary key auto_increment, name varchar(10), gender char(1), -- 性别