1、什么是视图:
站在不同的角度去看待数据,同一张表的数据 通过不同的角度去看待
2、怎么创建视图 删除视图
//注意 只有DQL语句才能以视图对象的方式创建出来
mysql> create view myview as select dname,deptno from dept;
mysql> select *from myview;
+-----------+--------+
| dname | deptno |
+-----------+--------+
| 测试部 | 2 |
| 开发部 | 3 |
| 市场部 | 1 |
| 设计部 | 4 |
| 采购部 | 5 |
drop view myview;
3、对视图进行增删改查 会影响到原表数据(通过视图影响原表数据的)(可以对视图进行CRUD进行操作)
mysql> create view myview1 as select deptno,dname,location from dept1;
Query OK, 0 rows affected (0.01 sec)
mysql> select *from myview1;
+--------+-----------+----------+
| deptno | dname | location |
+--------+-----------+----------+
| 2 | 测试部 | 青岛 |
| 3 | 开发部 | 日本 |
| 1 | 人事部 | 上海 |
| 4 | 设计部 | 湖南 |
| 2 | 测试部 | 青岛 |
| 3 | 开发部 | 日本 |
| 1 | 人事部 | 上海 |
| 4 | 设计部 | 湖南 |
+--------+-----------+----------+
//修改视图数据
mysql> update myview1 set dname = 'hehe',location = '武川'where deptno = 2;
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> select *from dept1;
+-----------+--------+----------+
| dname | deptno | location |
+-----------+--------+----------+
| hehe | 2 | 武川 |
| 开发部 | 3 | 日本 |
| 人事部 | 1 | 上海 |
| 设计部 | 4 | 湖南 |
| hehe | 2 | 武川 |
| 开发部 | 3 | 日本 |
| 人事部 | 1 | 上海 |
| 设计部 | 4 | 湖南 |
+-----------+--------+----------+
//删除视图数据
mysql> delete from myview1 where deptno = 2;
Query OK, 2 rows affected (0.00 sec)
mysql> select *from dept1;
+-----------+--------+----------+
| dname | deptno | location |
+-----------+--------+----------+
| 开发部 | 3 | 日本 |
| 人事部 | 1 | 上海 |
| 设计部 | 4 | 湖南 |
| 开发部 | 3 | 日本 |
| 人事部 | 1 | 上海 |
| 设计部 | 4 | 湖南 |
+-----------+--------+----------+
4、视图的作用
视图可以隐藏表的实现细节 保密级别较高的系统 数据库仅对外提供相关的视图 java程序员只对视图对象进行进行CRYD
网友评论