视图
1.视图即一个连接表的工具,用于辅助对表的查找和修改,是一个虚表,但通过改变该虚表可以改变与之连接的实表内容
2.视图的有关语句的语法,和表的语法基本相同
1.视图的创建与替换:
1 #1. 创建视图emp_v1,要求查询电话号码以‘011’开头的员工姓名和工资、邮箱 2 create or replace view emp_v1 3 as 4 select last_name,salary,email 5 from employees 6 where phone_number like '011%';
1 #2. 要求将视图 emp_v1 修改为查询电话号码以‘011’开头的并且邮箱中包含 e 字符的员工姓名和邮箱、电话号码 2 create or replace view emp_v1 3 as 4 select last_name,email,phone_number,salary 5 from employees 6 where phone_number like '011%' and email like '%e%';
2.视图的插入
1 #3. 向 emp_v1 插入一条记录,是否可以? 2 INSERT INTO emp_v1(last_name,salary,email,phone_number) 3 VALUES('Tom',2300,'tom@126e.com','1322321312');
一定要保证插入的数据满足视图的条件才可以插入,且视图中要求的数据,插入时会默认给该属性附上所要求的值
如:视图选出来所有信息系学生的表,那么在插入新学生时,插入的学生的系一定是信息系,否则无法插入。
如果未选择学生所在的院系,则自动赋值学生的院系为信息系。
3.视图的修改
其方式与操作表类似(只能对元组修改,不能增添属性或者改变属性的数据类型)
1 #4. 修改emp_v1中员工的工资,每人涨薪1000 2 update emp_v1 3 set salary = salary + 1000;
只对在视图中的元组执行该操作,而不是对实体表中的所有元组。
4.视图的删除
(1).视图中元组的删除
1 #5. 删除emp_v1中姓名为Olsen的员工 2 delete from emp_v1 3 where last_name = 'Olsen';
(2).视图本身的删除
1 #8. 删除刚才的emp_v2 和 emp_v1 2 drop view if exists emp_v1 ;