Mysql-学习笔记(==》触发器 十一)
-------触发器--------
USE db;
SELECT FROM sss;
CREATE TABLE sssbak LIKE sss;
SHOW CREATE TABLE sss;
SHOW CREATE TABLE sssbak;
CREATE TABLE `sssbak` (
`sid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`sname` VARCHAR(10) NOT NULL,
`sscore` TINYINT(3) UNSIGNED DEFAULT NULL,
`saddress` VARCHAR(30) DEFAULT NULL,
`stel` BIGINT(20) UNSIGNED DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8
CREATE TABLE `sss` (
`sid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`sname` VARCHAR(10) NOT NULL,
`sscore` TINYINT(3) UNSIGNED DEFAULT NULL,
`saddress` VARCHAR(30) DEFAULT NULL,
`stel` BIGINT(20) UNSIGNED DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=MYISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
sss 学生信息表
sssbak 学生补考表
TRUNCATE sss;
TRUNCATE sssbak;-- 清除表的内容
SELECT FROM sss;
SELECT FROM sssbak;
-- 建立触发器 建立的对象为 new
DELIMITER
CREATE TRIGGER tt1 AFTER INSERT ON sss FOR EACH ROW
BEGIN
DECLARE ss TINYINT;
SET ss=NEW.sscore;
IF ss60 THEN
INSERT INTO sssbak VALUES(NEW.sid,NEW.sname,NEW.sscore,NEW.saddress,NEW.stel);
END IF;
END
DELIMITER;
删除表sss中的元素 在sssbak中相应的元素也删除 删除的对象为 OLD
DELIMITER
CREATE TRIGGER tt2 AFTER DELETE ON sss FOR EACH ROW
BEGIN
DELETE FROM sssbak WHERE sid=OLD.sid;
END
DELIMITER;
修改 OLD 修改之前 NEW 修改之后
DELIMITER
CREATE TRIGGER tt3 AFTER UPDATE ON sss FOR EACH ROW
BEGIN
DECLARE newss TINYINT;
DECLARE oldss TINYINT;
SET newss=NEW.sscore;
SET oldss=old.sscore;
IF newss=60 THEN
DELETE FROM sssbak WHERE sid =NEW.sid;
ELSE -- sss新的分数小于60的时候
REPLACE INTO sssbak VALUES(NEW.sid,NEW.sname,NEW.sscore,NEW.saddress,NEW.stel);
END IF;
END
DELIMITER;
-- 使用触发器,实质性相关的操作时,自动触发的
INSERT INTO sss VALUES(NULL,'张三',30,'北京',18290438501);
INSERT INTO sss VALUES(NULL,'李四',90,'郑州',18290438501);
-- 删除触发器
DROP TRIGGER tt1;
-- 查看db数据库中所有的触发器
SHOW TRIGGERS FROM `db`;
Mysql-学习笔记(==》触发器 十一)的更多相关文章
- MySql学习笔记——触发器
今天又学习了一下mysql触发器的相关知识,对此做了一些笔记和总结. 定义及作用 触发器是一个被指定关联到一个表的数据对象,触发器不需要调用,当对一个表的特别事件出现时,它就会被激活.触发器的代码也是 ...
- Mysql学习笔记(十一)临时表+视图
学习内容: 临时表和视图的基本操作... 临时表与视图的使用范围... 1.临时表 临时表:临时表,想必大家都知道这个概念的存在...但是我们什么时候应该使用到临时表呢?当一个数据库存在着大量的数 ...
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
- 我的MYSQL学习心得(十一) 视图
我的MYSQL学习心得(十一) 视图 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- MySQL学习笔记-MySQL体系结构总览
MySQL体系结构总览 不管是用哪种数据库,了解数据库的体系结构都是极为重要的.MySQL体系结构主要由数据库和数据库实例构成. 数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件 ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...
- 一千行MySQL学习笔记 (转)
出处: 一千行MySQL学习笔记 /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权 ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式
原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Exce ...
随机推荐
- How to use Ubuntu Linux in virtual box
安装git : yum install git 查询包: rpm -ql git 打开文件夹目录: nautilus 目录路径
- [原创]java WEB学习笔记78:Hibernate学习之路---session概述,session缓存(hibernate 一级缓存),数据库的隔离级别,在 MySql 中设置隔离级别,在 Hibernate 中设置隔离级别
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- opscenter dashboard排错
系统环境 opscenter 5.2 centOS 6.6 cassandra 2.0.x 问题 opscenter上的dashboard监控cassandra集群一段时间(大约1天)后总会停止显示. ...
- 13---Net基础加强
更新中,敬请期待............ 作业-复习 程序集1 程序集2 反射1 反射2 反射3 反射4-记事本插件1 反射5-记事本插件2
- EBS fnd_global.apps_initialize
原型:fnd_global.apps_initialize(user_ID, Responsibility_id ...
- springmvc+spring+mybatis分页查询实例版本2.0
先在改成纯利用js进行分页,首先查询出所有记录,初始化通过jquery控制只知显示首页内容,创建页面切换功能的函数,每次显示固定的内容行并把其他内容行隐藏,这样只需要一次提交就可以实现分页,但是仍有缺 ...
- scan cell
scan cell有两种不同的input: 1)data input:由电路的combinational logic驱动: 2)scan input:由另一个scan cell驱动,从而形成scan ...
- Java中的get()和set()方法
对于JAVA初学者来说,set和get这两个方法似乎已经很熟悉了,这两个方法是JAVA变成中的基本用法,也是出现频率相当高的两个方法. 如果你对于这两个方法还有困惑甚至完全不知道这两个方法是做什么的, ...
- JavaScript 闭包整合
初遇闭包感觉很困惑,上网查看了些许介绍,有很多没看懂,就想先对能懂的东西整整 首先觉得要了解闭包,要先对一.JavaScript的变量作用域和作用域链有基本了解 1.变量的作用域分为:全局变量和局部变 ...