发布时间:2018-06-15 21:32:07编辑:Run阅读(4779)
mysql视图的定义
视图是虚拟表或逻辑表,它被定义为具有连接的SQL SELECT查询语句。因为数据库视图与数据库表类似,它由行和列组成,因此可以根据数据库表查询数据。其内容由查询定义。
但是,视图并不在数据库中以存储的数据值集形式存在,行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。简单的来说视图是由其定义结果组成的表;
mysql视图的优点
1、数据库视图允许简化复杂查询,通过数据库视图,您只需使用简单的SQL语句,而不是使用具有多个连接的复杂的SQL语句。
2、安全性。一般是这样做的:创建一个视图,定义好该视图所操作的数据。之后将用户权限与视图绑定。这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。
mysql视图的缺点
1、性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的。
2、表依赖关系:将根据数据库的基础表创建一个视图。每当更改与其相关联的表的结构时,都必须更改视图。
临时表应用举例
创建两张有关系的表,创建一个db10数据库进行操作
创建course表
mysql> create database db10; Query OK, 1 row affected (0.06 sec) mysql> use db10; Database changed mysql> create table course(cid int primary key auto_increment,cname varchar(10),teacher_id int); Query OK, 0 rows affected (0.19 sec) mysql> insert into course values (1,'生物',1),(2,'物理',2),(3,'体育',3),(4,'美术',2); Query OK, 4 rows affected (0.01 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from course; +-----+--------+------------+ | cid | cname | teacher_id | +-----+--------+------------+ | 1 | 生物 | 1 | | 2 | 物理 | 2 | | 3 | 体育 | 3 | | 4 | 美术 | 2 | +-----+--------+------------+ 4 rows in set (0.00 sec)
创建teacher表
mysql> create table teacher(tid int primary key auto_increment,tname varchar(10)); Query OK, 0 rows affected (0.39 sec) mysql> insert into teacher values(1,'张三'),(2,'李四'),(3,'王五'),(4,'朱六'),(5,'陈七'); Query OK, 5 rows affected (0.01 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from teacher; +-----+--------+ | tid | tname | +-----+--------+ | 1 | 张三 | | 2 | 李四 | | 3 | 王五 | | 4 | 朱六 | | 5 | 陈七 | +-----+--------+ 5 rows in set (0.00 sec)
上一篇: mysql-创建用户和授权
下一篇: mysql-索引
47604
45983
36909
34467
29079
25713
24565
19714
19245
17756
5564°
6155°
5690°
5737°
6703°
5482°
5484°
5988°
5965°
7295°