Mysql触发器学习
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触发器学习相关推荐
- mysql 触发器学习
mysql 触发器学习 1. 一个简单的例子 1.1. 创建表: create table t(s1 integer); 1.2. 触发器: delimiter | create trigger t_ ...
- 一篇很棒的 MySQL 触发器学习教程
一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动 ...
- mysql触发器学习的一个小错误
mysql> create trigger trigger_5 after insert on department for each row drop table name; mysql> ...
- 关于mysql触发器和存储过程的理解
内容源自:一篇很棒的 MySQL 触发器学习教程 一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊 ...
- mysql 数据库学习(触发器)
引用:http://bbs.mysql.cn/thread-9135-1-2.html 引用:21. 触发程序 create table a (sa int); create table b (sb ...
- Mysql的触发器学习总结
一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动 ...
- mysql之触发器详解_学习笔记之MySQL触发器详解
触发器是由事件来触发某个操作,这些事件包括INSERT语句,UPDATE语句和DELETE语句 创建触发器 创建只有一个执行语句的触发器 CREATE TRIGGER 触发器名 BEFORE|AFTE ...
- MySQL服务器学习笔记!(二) ——数据库各项操作
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://foreveryan.blog.51cto.com/3508502/657640 ...
- mysql数据库有触发器吗_MySQL数据库之MySQL 触发器实现
本文主要向大家介绍了MySQL数据库之MySQL 触发器实现 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. Summary: in this tutorial, you wil ...
- MySQL触发器介绍
前言: 在学习 MySQL 的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下 MySQL 触发器相关知识. 1.触发器简介 触发器即 tr ...
最新文章
- 三十九、@staticmethod、@classmethod和@property类装饰器
- 解决oracle绑定变量重复,基于ORACLE SQL优化之绑定变量(4)
- 快速排序 (Quick Sort)(Java实现)
- ZZULIOJ 1110: 最近共同祖先(函数专题)
- 青岛达内php培训多少钱_北京北京青岛椅群 多少钱
- 使用tomcat+eclipse搭建javaweb基础开发环境
- u3d打包成exe以及调试
- Android开发环境搭建-eclipse+ADT及hello world
- 软件升级 防火墙 飞塔_FortiGate软件版本升级
- 迅捷校园网自动登录脚本(网页端)
- Android应用签名证书(.keystore)生成
- 按键精灵脚本:采集鼠标当前所在坐标的颜色
- C# 参数1:值参数----值类型和引用类型及特例string
- javascript音乐播放器
- Lua的浅拷贝和深拷贝
- java foreach 空指针_foreach循环报NPE空指针异常
- XJTU第十三周大计基编程作业
- 【数据分析】—— 指标与指标体系
- python如何群控手机_python调用adb脚本来实现群控安卓手机初探
- Layui数据表格之图片的处理