视图 触发器

1 视图 

定义:

 视图:是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据

视图有如下特点;
  1. 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系。
  2. 视图是由基本表(实表)产生的表(虚表)。
  3. 视图的建立和删除不影响基本表。
  4. 对视图内容的更新(添加、删除和修改)直接影响基本表。
  5. 当视图来自多个基本表时,不允许添加和删除数据。

创建视图
create view db1 as select * from ren where id=1; 
 使用视图
select * from  db1;
更新视图
alter view  db1 as select * from ren where id=1;

删除视图
drop view db1

注意:我们建立和删除视图的时候不影响本表,但是对视图进行更新,添加,删除的时候影响本表.

一般用在我们有不想让别人查看信息的时候回用到,如公司的工资等等,人力会做一个视图除了工资.

2 触发器

定义:监控某种行为,并触发某种操作.

条件:  1 监视地点(table)

          2 监视事件( insert/update/delete) )

          3 触发时间(after/before)

         4  触发事件( insert/update/delete) )

创建事件语法:

create trigger db3 after DELETE on ren
for each row
BEGIN

INSERT INTO `liuyandb`.`ren1` (`id`, `name`, `age`, `salary`, `leader`, `menpai`) VALUES (old.id, 1,1, 1, 1, 1);

end

drop TRIGGER db3;

实现效果是没删除一个表数据就在新表新增一个数据.必要时候使用old/new.

注意:新插入的行用new来表示,行中的每一列的值用new.列名来表示。
         用old来表示旧表中的值,old.列名可以引用原(旧)表中的值。

        

猜你喜欢

转载自my.oschina.net/u/3657436/blog/1791960
今日推荐