1.创建准备数据

--1.创建准备数据库
--drop database if exists edw;
create database if not exists edw;
alter database edw default character SET utf8 COLLATE utf8_general_ci;

2.创建学生和学生成绩表

use edw;--创建学生表
drop table if exists ods_stu_entity;
create table if not exists ods_stu_entity(
id int primary key auto_increment,
stu_id varchar(64) comment '学号'  unique,
name varchar(64) comment '姓名',
sex varchar(16) comment '性别' default '男',
age int  comment '年龄' check(id>0 and id<150),
grade varchar(16) comment '年级' ,
address varchar(64) comment '家庭地址'
)ENGINE=InnoDB default CHARSET=utf8;--创建学生成绩表
drop table if exists ods_stu_score;
create table if not exists ods_stu_score(
id int primary key auto_increment,
stu_id varchar(64) comment '学号'  unique,
name varchar(64) comment '姓名',
grade varchar(16) comment '年级' ,
chinese float comment '语文成绩' default 0,
math    float comment '数学成绩' default 0,
english float comment '英语成绩' default 0
)ENGINE=InnoDB default CHARSET=utf8;

3.创建触发器

功能:当插入学生表数据后,自动在成绩表中插入数据

--触发器
--当插入学生信息之后,触发器往成绩表中插入数据
drop trigger if exists trigger_ods_stu_score;
create trigger trigger_stu_score
after insert on ods_stu_entity for each row
begininsert into ods_stu_score (stu_id,name,grade) values (new.stu_id,new.name,new.grade);
end;

4.测试验证结果

--测试插入一条学生数据
insert into ods_stu_entity(stu_id,name,sex,age,grade,address) values('120510016','Jim','男','27','大一','江西省上饶市婺源县');
insert into ods_stu_entity(stu_id,name,sex,age,grade,address) values('120510017','Jack','男','26','大一','浙江省杭州市西湖区');
insert into ods_stu_entity(stu_id,name,sex,age,grade,address) values('120510018','Lucy','女','25','大一','辽宁省大连市沙河口区');--查看学生表
select * from ods_stu_entity;--查看成绩表中是否有数据
select * from ods_stu_score;

学生表结果:

成绩表结果:

创建触发器一个执行语句格式:

  CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件 ON 表名 FOR EACH ROW 执行语句;

创建触发器多个执行语句格式:

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件

ON 表名 FOR EACH ROW

BEGIN

执行语句列表

END;

触发器执行顺序

  • 如果 BEFORE 触发器执行失败,SQL 无法正确执行;
  • SQL 执行失败时,AFTER 型触发器不会触发;
  • AFTER 类型的触发器执行失败,SQL 会回滚;

转载于:https://www.cnblogs.com/Jims2016/p/10854242.html

Mysql触发器学习相关推荐

  1. mysql 触发器学习

    mysql 触发器学习 1. 一个简单的例子 1.1. 创建表: create table t(s1 integer); 1.2. 触发器: delimiter | create trigger t_ ...

  2. 一篇很棒的 MySQL 触发器学习教程

    一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动 ...

  3. mysql触发器学习的一个小错误

    mysql> create trigger trigger_5 after insert on department for each row drop table name; mysql> ...

  4. 关于mysql触发器和存储过程的理解

    内容源自:一篇很棒的 MySQL 触发器学习教程 一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊 ...

  5. mysql 数据库学习(触发器)

    引用:http://bbs.mysql.cn/thread-9135-1-2.html 引用:21. 触发程序 create table a (sa int); create table b (sb ...

  6. Mysql的触发器学习总结

    一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动 ...

  7. mysql之触发器详解_学习笔记之MySQL触发器详解

    触发器是由事件来触发某个操作,这些事件包括INSERT语句,UPDATE语句和DELETE语句 创建触发器 创建只有一个执行语句的触发器 CREATE TRIGGER 触发器名 BEFORE|AFTE ...

  8. MySQL服务器学习笔记!(二) ——数据库各项操作

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://foreveryan.blog.51cto.com/3508502/657640 ...

  9. mysql数据库有触发器吗_MySQL数据库之MySQL 触发器实现

    本文主要向大家介绍了MySQL数据库之MySQL 触发器实现 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. Summary: in this tutorial, you wil ...

  10. MySQL触发器介绍

    前言: 在学习 MySQL 的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下 MySQL 触发器相关知识. 1.触发器简介 触发器即 tr ...

最新文章

  1. 三十九、@staticmethod、@classmethod和@property类装饰器
  2. 解决oracle绑定变量重复,基于ORACLE SQL优化之绑定变量(4)
  3. 快速排序 (Quick Sort)(Java实现)
  4. ZZULIOJ 1110: 最近共同祖先(函数专题)
  5. 青岛达内php培训多少钱_北京北京青岛椅群 多少钱
  6. 使用tomcat+eclipse搭建javaweb基础开发环境
  7. u3d打包成exe以及调试
  8. Android开发环境搭建-eclipse+ADT及hello world
  9. 软件升级 防火墙 飞塔_FortiGate软件版本升级
  10. 迅捷校园网自动登录脚本(网页端)
  11. Android应用签名证书(.keystore)生成
  12. 按键精灵脚本:采集鼠标当前所在坐标的颜色
  13. C# 参数1:值参数----值类型和引用类型及特例string
  14. javascript音乐播放器
  15. Lua的浅拷贝和深拷贝
  16. java foreach 空指针_foreach循环报NPE空指针异常
  17. XJTU第十三周大计基编程作业
  18. 【数据分析】—— 指标与指标体系
  19. python如何群控手机_python调用adb脚本来实现群控安卓手机初探
  20. Layui数据表格之图片的处理

热门文章

  1. 虚幻四中怎么保持导入模型坐标_「虚幻引擎5」为何让开发者们拍手叫好?它到底厉害在哪?...
  2. matlab中firrcos,DMR数字集群关键技术的应用研究
  3. 帆软获取单元格值与赋值
  4. java hadoop makefile_makefile高级用法--make 的运行
  5. UI设计教程学习分享:APP布局
  6. IP路由原理.ppt
  7. C#区分中英文统计字符串的长度
  8. MySQL federated引擎试验
  9. 学习《让UpdatePanel支持文件上传》系列文章的相关链接
  10. ucosiii 钩子函数