MySQL视图介绍

数据准备

创建数据库、导入数据

[[email protected] ~]# mysql -uroot -p -e"create database viewdb;"

Enter password:

[[email protected] ~]# mysql -uroot -p viewdb< viewdb.sql

Enter password:

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| db2                |

| liujing            |

| mysql              |

| performance_schema |

| sys                |

| viewdb             |

| worlddb            |

| xiaowei            |

+--------------------+

9 rows in set (0.13 sec)

mysql> show tables;

+------------------+

| Tables_in_viewdb |

+------------------+

| user             |

| userinfo         |

+------------------+

2 rows in set (0.00 sec)

视图概述

视图是一个虚拟表,是从数据库中一个或多个表中导出来的表。视图还可以从已经存在的视图的基础上定义。

视图的作用

1、简化工作

2、提高安全性

3、逻辑独立

创建视图的语法

CREATE [OR REPLACE] [ALGORITHM] ={undefined|MERGE|TEMPTABLE}]

VIEW view_name [(column_list)]

AS SELECT_statement

[WITH[CASCADED|LOCAL] CHECK OPTION]

ALGORITHM用于设定视图的算法

CASCADED|LOCAL为限定条件。

CASCADED:默认值,更新时必须满足所有相关视图和表的条件。

LOCAL:更新时仅满足该视图本身定义的条件即可。

创建单表视图

mysql> create view view_user as selectname,age from user;

Query OK, 0 rows affected (0.01 sec)

查看

mysql> select name,age from user;

+---------+------+

| name   | age  |

+---------+------+

| TubeLiu |   10 |

| Kevin  |   20 |

| Mark   |   30 |

| July   |   40 |

+---------+------+

4 rows in set (0.00 sec)

mysql> select * from view_user;

+---------+------+

| name   | age  |

+---------+------+

| TubeLiu |   10 |

| Kevin  |   20 |

| Mark   |   30 |

| July   |   40 |

+---------+------+

4 rows in set (0.00 sec)

更新了视图中的数据

mysql> update view_user set age = 20where name=‘Tubeliu‘;

Query OK, 1 row affected (0.10 sec)

Rows matched: 1  Changed: 1 Warnings: 0

查看

mysql> select * from view_user;

+---------+------+

| name   | age  |

+---------+------+

| TubeLiu |   20 |

| Kevin  |   20 |

| Mark   |   30 |

| July   |   40 |

+---------+------+

4 rows in set (0.00 sec)

mysql> select name,age from user;

+---------+------+

| name   | age  |

+---------+------+

| TubeLiu |   20 |

| Kevin  |   20 |

| Mark   |   30 |

| July   |   40 |

+---------+------+

4 rows in set (0.00 sec)

对视图的操作也会影响真实表中的内容。

创建多表视图

mysql> create viewview_userinfo(name1,phone1) as select user.name,userinfo.phone fromuser,userinfo where id=fid;

Query OK, 0 rows affected (0.00 sec)

查看

mysql> select * from view_userinfo;

+---------+--------+

| name1  | phone1 |

+---------+--------+

| TubeLiu | 12345 |

| Kevin  |  54321 |

| Mark   |  32145 |

| July   |  34521 |

+---------+--------+

4 rows in set (0.00 sec)

mysql> select user.name,userinfo.phonefrom user,userinfo where id=fid;

+---------+-------+

| name   | phone |

+---------+-------+

| TubeLiu | 12345 |

| Kevin  | 54321 |

| Mark   | 32145 |

| July   | 34521 |

+---------+-------+

4 rows in set (0.00 sec)

时间: 2024-08-18 03:11:48

MySQL视图介绍的相关文章

mysql information_schema介绍

mysql information_schema介绍 一.information_schema是什么 information_schema是MySQL自带的一个信息数据库,其保存着关于MySQL服务器所维护的所有其他数据库的信息,如数据库名,数据库的表,表栏的数据类型与访问权限等. 也就是说当你建立一个新的数据库,或者在已有的数据库中增删改表的话,都会记录在information_schema库中. 你可以通过information_schema库来查看各个数据库的信息:有时候是很有用的哦,例如

MySQL视图概述

1.介绍 在传统关系型数据库里,视图有时也被称作虚表,是基于特定SQL结果集的虚拟数据表.在有些场合会变得很方便,例如:原有系统重构,旧的数据表A和B已经被拆分和合并到数据表C.D.F里面,为了实现平滑迁移不影响对外数据业务,可以分别创建和原有数据表A和B一致的视图G和H,再实现数据层升级,不影响现有业务. 2.创建 创建MySQL视图语法如下 CREATE [ALGORITHM=[UNDEFINED | MERGE | TEMPTABLE] ] [DEFINER=用户名] [SQL SECUR

&nbsp; &nbsp; &nbsp; Mysql的介绍以及编译安装mariadb

一:mysql的介绍: mysql数据库是工作于线程模式的.是一种关系型数据库,有严格的数据模型结构,这样在并发读写量大的时候,就不得不对其进行扩展,而这种方式扩展还是非常麻烦的. 由于读操作是可以缓存的,所以我们可以为mysql提供缓存服务器. 程序读取数据时先查缓存服务器,再查mysql数据库,这样如果缓存有访问的内容,那么就可以节省 访问时间. 二:关系型数据管理系统 RDBMS 关系模型中主要组件: 数据方案:数据库 表,视图(虚表,基于某种关系用语句形成的),索引, 存储过程,存储函数

SQL——Mysql数据库介绍

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. MySQL: 介绍: 什么是数据库?就是一个软件,能帮我们把数据进行存储和提取,就好比java里存变量数组等东西的时候是存在内存中的,内存速度快,但是不能长时间存储,而硬盘的好处就是存储时间长,但是速度特别慢 优势:能快速找到我们想要的数据,能进行存储的优化 想要长时间保存数据只能是把数据存储到硬盘上,当我们下次启动的时候,在把数据读取上来 数据库的主要目的

MySQL视图、存储过程与存储引擎

MySQL视图.存储过程与存储引擎 一.前言 ? 前面的文章已经介绍了MySQL的索引与事务以及MySQL的备份与恢复的相关的内容,本文将对MySQL视图及存储过程以及存储引擎进行讲述. 二.MySQL视图 2.1问题引出--视图的概念 ? 我们在使用SQL语句进行多表查询的时候的命令是非常冗长而麻烦的,如果说这样的操作还非常多的使用的情况下就会加大工作人员的工作量,毕竟不能保证如此长的代码不会写错,并且多次进行如此复杂的查询也会造成服务器资源占用比变大的问题,那么我们有什么好的办法解决这样的问

mysql的介绍;安装及基本配置;mysql数据库运行必备技能

一.MySQL的介绍 1. 数据库:数据库集中存放位置 1) 常见的数据库类型:关系型(mysql.oracle.SQLserver2008,DB2),树型(windows注册表).非关系型(NoSQL). 2) 关系型数据库对象:数据记录-存->表à存à数据库:表分为数据库,关系表 2. MySQL是开源的关系型数据软件,目前由oracle公司维护,特点是:多线程.多用户.基于C/S架构(客户端/服务器),简单易用.查询速度快,安全可靠. 二.安装及基本配置: 1. 安装 1) 安装依赖ncu

7Python全站之路系列之MySQL视图

Python全栈之路系列之MySQL视图 视图是一个虚拟表(非真实存在),其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集,并可以将其当作表来使用. 创建视图 创建一个名称为v1的视图,其功能就是查询color表中的所有数据 CREATE VIEW v1 AS SELECT * FROM color; 查看视图 使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建.更新和删除操作,仅能做查询用. select * from 

第11章 mysql 视图

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] 范德兰斯.MySQL开发者SQL权威指南 [M].北京:机械工业出版社,2008 [4] Forta.MySQL必知必会 [M].北京:人民邮电出版社,2009 [5] mysql视图学习总结 [6] mysql之视图 [7] mysql之视图详解

八、mysql视图、存储过程、函数以及时间调度器

1.create or replace view emp_view as select * from t4 ;给t4表创建一个名为emp_view的视图 2.drop view emp_view 删除视图 ======================================= 1.创建一个存储过程(查询所有数据) create procedure p1 () READS SQL DATA BEGIN select * from t4; END 2.创建一个存储过程(查询传参数据) cre