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 ...
随机推荐
- Java基础(56):Java---Assertion的试用(华为OJ里的Java题目的用例检测就是用的断言)
一.assertion的意义和用法 J2SE 1.4在语言上提供了一个新特性,就是assertion功能,它是该版本在Java语言方面最大的革新. 从理论上来说,通过 assertion方式可以证明程 ...
- struts复合类型传值(对象传值)
01:导包,配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version ...
- php session session_set_save_handler 接管所有的session管理工作
一个已知管用的方法是,使用session_set_save_handler,接管所有的session管理工作,一般是把session信息存储到数 据库,这样可以通过SQL语句来删除所有过期的sessi ...
- ORA-12154的原因
一个很难想到的引起ORA-12154的原因 使用OracleClient.OracleConnection时(我连的是Oracle 9i,其他版本未知),如果你的执行目录太长或者有括号 ...
- paper 65 :尺度不变特征变换匹配算法[转载]
尺度不变特征变换匹配算法 对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越.1.SIFT综述 尺度不变特征转换(Scale-invariant feature transf ...
- weka 文本分类(1)
一.初始化设置 1 jvm out of memory 解决方案: 在weka SimpleCLI窗口依次输入java -Xmx 1024m 2 修改配置文件,使其支持中文: 配置文件是在Weka安装 ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON InpaintingCt2
zw版[转发·台湾nvp系列Delphi例程]HALCON InpaintingCt2 unit Unit1;interfaceuses Windows, Messages, SysUtils, Va ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON DivImage1
zw版[转发·台湾nvp系列Delphi例程]HALCON DivImage1 procedure TForm1.Button1Click(Sender: TObject);var img0, ...
- jquery表单重置另一种方法
页面中按钮为<a>标签时,点击取消按钮,表单内容重置,需要给form表单id="form": <a class="demo_one1" onc ...
- yii2多语言设置
yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul> <li> <a href="javascri ...