MySQL学习笔记(12)之触发器(trigger)

触发器(trigger)

1、作用:监视某种情况并触发某种操作。

触发器能监视表的增、删、改,进行增、删、改操作。

2、创建触发器语法:(需要提前修改结束符:delimiter 结束符)

create trigger trigger_name

after/before

增、删、改 on 表名

For each rom

Begin SQL语句;

End结束符

触发器名称

触发器时间

After和before的区别:

After:先完成数据操作,在触发。

Before:先于监视的操作,在触发数据的操作

触发器监视的事件

触发器监视地点

触发器触发的事件

3、触发器引用行的值:

1.对于inset而言,新增加行用new表示。

行中每一行的值用 new.列名

2.对于delete而言,原本有一行,后来删除了,想引用被删除行,用old.列名

3.对于update而言,被修改行 修改前,用old.列名

修改后,用new.列名

4、删除触发器:

Drop trigger 触发器名称

时间: 2024-08-01 14:32:00

MySQL学习笔记(12)之触发器(trigger)的相关文章

mysql学习笔记之五(触发器)

触发器(trigger)是mysql的数据库对象之一,该对象与编程语言中的函数非常类似,都需要声明.执行,但是触发器的执行不是由程序调用,也不是手工启动,而是由事件来触发,激活从而实现执行. 实例: 1.学生表中拥有字段学生姓名,字段学生总数,每当添加一条学生记录时,学生总数就必须同时改变. 2.在顾客信息表中拥有字段顾客名字,字段顾客电话和字段顾客地址缩写,每当添加一条关于顾客记录时,都需要检查电话号码格式是否正确,顾客地址缩写是否正确. 总之,需要在表发生更改时,自动进行一些处理,如检查数据

MySQL学习笔记12半同步复制

1.1.1. 相关概念 默认情况下,MySQL使用异步复制,即master上的事务执行与slave上的复制操作不需要同步,master不需要等待slave上的复制线程将Binary Log接收完毕即可执行其它事务. 半同步复制时,master上的事务执行与slave上的复制操作需要在某个步骤上进行同步,master需要等待slave上的复制线程接收完毕Binary Log. 异步复制的工作效率比较高,但是在特定条件下,有可能造成master和slave的数据不一致.半同步复制可以降低数据不一致的

MySql学习笔记(转载)

/* 启动MySQL */net start mysql /* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密函数password()update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABLES -- /* 数据库操

MySql学习笔记(一)之DQL常用查询

MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前,我们先做一些准备工作. 需要安装的软件如下: 1.mysql,版本可以选择5.1或者5.5,安装过程可以参考博客:http://www.cnblogs.com/ixan/p/7341637.html 2.mysql图形化管理软件:Navicate,sqlyog(二选一,推荐使用sqlyog). 本文

MySQL学习笔记—SQL服务器模式汇总

MySQL学习笔记-SQL服务器模式汇总 MySQL服务器可以以不同的SQL模式来操作,并且可以为不同客户端应用不同模式.这样每个应用程序可以根据自己的需求来定制服务器的操作模式. 模式定义MySQL应支持哪些SQL语法,以及应执行哪种数据验证检查.这样可以更容易地在不同的环境中使用MySQL,并结合其它数据库服务器使用MySQL. 你可以用–sql-mode="modes"选项启动mysqld来设置默认SQL模式.如果你想要重设,该值还可以为空(–sql-mode ="&q

mysql学习笔记-简介

1.数据存储方式3个阶段 1.人工管理阶段 2.文件系统阶段 3.数据库系统阶段 数据库组成 1.数据库由若干张表组成,表由若干个字段组成 2.关系数据库的表都是二维表 2.数据库泛型(创建数据库必须满足的要求) 1.第一范式(1NF):设计数据库满足的最低要求表中不能有重复字段,并且每个字段不能在拆分 3.数据库技术构成 1.数据库系统 2.sql语句 3.数据库访问技术等 4.sql语言分类 1.DDL(数据定义语言):主要用于创建表,视图,索引,触发器等.其中包括CREATE(创建表),A

MySQL学习笔记-子查询和连接

MySQL学习笔记-子查询和连接 使客户端进入gbk编码方式显示: mysql> SET NAMES gbk; 1.子查询 子查询的定义: 子查询(Subquery)是指出现在其他SQL语句内的SELECT子句. 例如:  SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2); 其中SELECT * FROM t1 称为Outer Query / Outer Statement (外部查询) SELECT col2 FROM t2 , 被称为Su

MySQL学习笔记-操作数据表中的记录

MySQL学习笔记-操作数据表中的记录 1.插入记录 INSERT INSERT [INTO] tbl_name [(col_name,...)] {VAULES|VALUE} ({expr|DEFAULT},...),(...),... 例,插入单条记录: mysql> USE testDatabase changed mysql> CREATE TABLE users(    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,   

MySQL学习笔记—触发程序

MySQL学习笔记-触发程序 触发程序是与表有关的命名数据库对象,当表上发生特定事件时,将触发执行相应的触发程序. CREATE TRIGGER语法 CREATE TRIGGER语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象. 触发程序与命名为tbl_name的表相关.tbl_na

Mysql学习笔记(六)增删改查

原文:Mysql学习笔记(六)增删改查 PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into table_name values("要插入的数据"); 比如说,我们先创建一个宠物表,用来记录宠物的基本信息以及所有者... create table pet ( name varchar(20), owner varchar(20), species varchar(20), sex cha