基本介绍
what?
    从不同的角度查看同一个数据库
how?
| 12
 3
 
 | create view dept2_view as select * from dept2;#删除
 drop view dept2_view;
 
 | 
只有 DML 语句才能以 view 的形式创建。
create view view_name as 这里的语句必须为 DQL 语句
创建 view 的 SQL 语句,==只能是 DQL==。
| 12
 3
 
 | #复制表
 create table dept2 as select * from dept;
 
 | 
why?
	为什么要使用视图。 
									—-简化开发
假如有一条非常复杂的 SQL 语句,而这条 SQL 语句需要在不同的位置上==反复使用==。–这这条复杂的 sql 语句 写成一个视图。在需要编写这条 SQL 语句的位置直接使用视图对象,可以简化开发。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 
 | create viewemp_dept_view
 as
 select
 e.ename,e.sal,d.dname
 from
 emp e
 join
 dept d
 where
 e.deptno=d.deptno;
 一条对视图操作的 sql 语句,即可完成对两个表的操作
 mysql> select * from dept;
 +--------+------------+----------+
 | DEPTNO | DNAME      | LOC      |
 +--------+------------+----------+
 |     10 | ACCOUNTING | NEW YORK |
 |     20 | RESEARCH   | DALLAS   |
 |     30 | SALES      | CHICAGO  |
 |     40 | OPERATIONS | BOSTON   |
 +--------+------------+----------+
 4 rows in set (0.00 sec)
 mysql> select * from emp;
 +-------+--------+-----------+------+------------+---------+---------+--------+
 | EMPNO | ENAME  | JOB       | MGR  | HIREDATE   | SAL     | COMM    | DEPTNO |
 +-------+--------+-----------+------+------------+---------+---------+--------+
 |  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 |    NULL |     20 |
 |  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30 |
 |  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30 |
 |  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 |    NULL |     20 |
 |  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30 |
 |  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 |    NULL |     30 |
 |  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 |    NULL |     10 |
 |  7788 | SCOTT  | ANALYST   | 7566 | 1987-04-19 | 3000.00 |    NULL |     20 |
 |  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000.00 |    NULL |     10 |
 |  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500.00 |    0.00 |     30 |
 |  7876 | ADAMS  | CLERK     | 7788 | 1987-05-23 | 1100.00 |    NULL |     20 |
 |  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950.00 |    NULL |     30 |
 |  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 |    NULL |     20 |
 |  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 |    NULL |     10 |
 +-------+--------+-----------+------+------------+---------+---------+--------+
 14 rows in set (0.00 sec)
 
 ## 展示
 mysql> select * from emp_dept_view;
 +--------+---------+------------+
 | ename  | sal     | dname      |
 +--------+---------+------------+
 | SMITH  |  800.00 | RESEARCH   |
 | ALLEN  | 1600.00 | SALES      |
 | WARD   | 1250.00 | SALES      |
 | JONES  | 2975.00 | RESEARCH   |
 | MARTIN | 1250.00 | SALES      |
 | BLAKE  | 2850.00 | SALES      |
 | CLARK  | 2450.00 | ACCOUNTING |
 | SCOTT  | 3000.00 | RESEARCH   |
 | KING   | 5000.00 | ACCOUNTING |
 | TURNER | 1500.00 | SALES      |
 | ADAMS  | 1100.00 | RESEARCH   |
 | JAMES  |  950.00 | SALES      |
 | FORD   | 3000.00 | RESEARCH   |
 | MILLER | 1300.00 | ACCOUNTING |
 +--------+---------+------------+
 14 rows in set (0.00 sec)
 ## 修改一个项
 # smith 的 sal 修改为900
 mysql> update emp_dept_view set sal=900 where ename='smith';
 mysql> select * from emp_dept_view;
 +--------+---------+------------+
 | ename  | sal     | dname      |
 +--------+---------+------------+
 | SMITH  |  900.00 | RESEARCH   |---->已经修改
 | ALLEN  | 1600.00 | SALES      |
 | WARD   | 1250.00 | SALES      |
 | JONES  | 2975.00 | RESEARCH   |
 | MARTIN | 1250.00 | SALES      |
 | BLAKE  | 2850.00 | SALES      |
 | CLARK  | 2450.00 | ACCOUNTING |
 | SCOTT  | 3000.00 | RESEARCH   |
 | KING   | 5000.00 | ACCOUNTING |
 | TURNER | 1500.00 | SALES      |
 | ADAMS  | 1100.00 | RESEARCH   |
 | JAMES  |  950.00 | SALES      |
 | FORD   | 3000.00 | RESEARCH   |
 | MILLER | 1300.00 | ACCOUNTING |
 +--------+---------+------------+
 #查看emp
 mysql> select * from emp;
 +-------+--------+-----------+------+------------+---------+---------+--------+
 | EMPNO | ENAME  | JOB       | MGR  | HIREDATE   | SAL     | COMM    | DEPTNO |
 +-------+--------+-----------+------+------------+---------+---------+--------+
 |  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  900.00 |    NULL |     20 | ----> sal 已经被修改为900
 |  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30 |
 |  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30 |
 |  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 |    NULL |     20 |
 |  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30 |
 |  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 |    NULL |     30 |
 |  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 |    NULL |     10 |
 |  7788 | SCOTT  | ANALYST   | 7566 | 1987-04-19 | 3000.00 |    NULL |     20 |
 |  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000.00 |    NULL |     10 |
 |  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500.00 |    0.00 |     30 |
 |  7876 | ADAMS  | CLERK     | 7788 | 1987-05-23 | 1100.00 |    NULL |     20 |
 |  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950.00 |    NULL |     30 |
 |  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 |    NULL |     20 |
 |  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 |    NULL |     10 |
 +-------+--------+----------
 
 
 | 
特点
- 对视图进行的增删改查,会导致原表被操作。
- 视图也是一个文件,可以看成一张表,即可以直接对其进行增删改查。
增删改查:CRUD
C:create(增)
R:retrive  (查)
U:update 改)
D:delete(删)