##删除userInfo表
DROP TABLE IF EXISTS userInfo;
CREATE TABLE userInfo(
userId INT AUTO_INCREMENT PRIMARY KEY,
userName VARCHAR(30),
userPwd VARCHAR(30)
);
CREATE TABLE test_trigger_table(
id INT,
NAME VARCHAR(30)
);
##插入数据
INSERT INTO userInfo VALUES(NULL,'王五','123456');
##查询
SELECT * FROM userInfo;
##################################触发器的创建、删除及使用##############################
##触发器创建与删除语法规则
1. DELIMITER//
2. CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
3. FOR EACH ROW
4. BEGIN
5. trigger_stmt
6. END;
7. //
注释:1)1、7必须成对出现,在其中//(分隔符设置)可以换成$$
2)trigger_name为触发器的名称
3)trigger_time什么时候触发创建的触发器,使用的关键字BEFORE,AFTER
4)trigger_event引发触发器的事件 如UPDATE、DELETE、DROP
5)tbl_name把触发器建立在那张表上面
6)FOR EACH ROW为遍历第一行记录
7)BEGIN ..... END成对出现,操作的复合语句 如UPDATE、DELETE、INSERT,
8)trigger_stmt 为一些条件判断语句,在其中一般有对表的UPDATE、DELETE、INSERT操作
#########实例########
##删除userInfo的触发器
DROP TRIGGER trigger_userInfo;
##创建userInfo的触发器
DELIMITER$$
CREATE TRIGGER trigger_userInfo
BEFORE INSERT ON userInfo
FOR EACH ROW
BEGIN
INSERT INTO test_trigger_table(id, NAME) VALUES (6, 'ABC');
##set new.userName='111';##在插入userInfo之前把userName字段插入值修改为111
##不允许使用select,DROP语句.如select now()或DROP TABLE test_trigger_table;
END;
$$
SELECT * FROM test_trigger_table;
##触发器的使用:一般在打印服务器日志,人员操作日志等
###############存储过程的创建、删除及使用##########################
##语法:
##DROP PROCEDURE procedure_name
##创建无参存储过程
DELIMITER//
CREATE PROCEDURE procedure_name()
BEGIN
/*此存储过程的正文*/
END;
//
##调用无参存储过程
CALL procedure_name();
##创建有参存储过程
DELIMITER//
CREATE PROCEDURE procedure_name(IN|OUT param dataType)
DECLARE variable dataType;
BEGIN
/*此存储过程的正文*/
END;
//
##注释:in表示传入但可被存储过程更改
#out表示参数将被传出或返
#param参数名
#dataType为参数类型,注:varchar是要定义长度,如 in v_input varchar(20)才一个完整的形式输入参数
#declare为声明变量区域
#begin .....end为复合语句块
##调用有参存储过程
CALL procedure_name(param);
##实例1无参存储过程(查询userInfo中userName为111的对象记录)
DELIMITER//
CREATE PROCEDURE pro_select_userInfo()
BEGIN
SELECT * FROM userInfo WHERE userName='111';
END;
//
##调用无参存储过程
CALL pro_select_userInfo();
##删除储存过程
##drop PROCEDURE procedure_para_name1;
DELIMITER$$
CREATE PROCEDURE procedure_para_name1 (IN param_name INTEGER)
BEGIN
DECLARE userName1 VARCHAR(20);
IF param_name=5 THEN
SELECT userName INTO userName1 FROM userInfo WHERE userId=param_name;
ELSE
SET userName1='PHP';
END IF;
SELECT userName1;
END;$$
##调用有参存储过程
CALL procedure_para_name7(5);
##注释:括号内参数创建此存储过程时传入的参数
分享到:
相关推荐
本文实例讲述了mysql触发器简介、创建触发器及使用限制。分享给大家供大家参考,具体如下: 简介 SQL触发器是存储在数据库目录中的一组SQL语句。每当与表相关联的事件发生时,即会执行或触发SQL触发器,例如插入,...
MySQL系列—-存储过程、触发器存储过程创建一个存储过程,使得结果输出两个数的和执行存储过程,计算38加上26的和触发器在student表中创建删除触发器ctr_del查看触发器ctr_del的一般信息和文本信息删除学号为...
数据库原理及应用MySQL中触发器部分有关的知识点整理,包括再MySQL中创建、删除、查看触发器的相关知识点,并包括相关的语法和语句。还有使用触发器应该注意的一些要点。 适合数据库专业的或是计算机相关专业的朋友...
在MySQL数据库中,数据库对象表是存储和操作数据的逻辑结构,而数据库对象触发器则用来实现由一些表事件触发的某个操作。在数据库系统中,当执行表事件时,则会激活触发器,从而执行器包含的操作。触发器的操作...
本文是对MySQL中触发器的总结,从触发器概念出发,结合实例对创建触发器、使用触发器、删除触发器进行介绍。 2 触发器简介 MySQL触发器和存储过程一样,都是嵌入到MySQL的一段程序。触发器是由事件来触发某个操作,...
30.MySQL高级触发器创建及应用.avi └31.MySQL高级触发器查看及删除.mp4 ├第三天视频 01.MySQL高级今日内容.mp4 02.MySQL高级应用优化.avi 03.MySQL高级查询缓存概述及流程.avi 04.MySQL高级查询缓存配置参数.avi ...
触发器 trigger是一种特殊的存储过程,他在插入(inset)、删除(delete)或修改(update)特定表中的数据时触发执行,它比数据本身标准的功能更精细和更复杂的数据控制能力。触发器不是由程序调用,而是由某个...
MySQL 触发器简单实例 语法 CREATE TRIGGER <触发器名称> –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { BEFORE | AFTER } –触发器有执行的时间设置:...
是和表关联的特殊的存储过程,可以再插入,删除,修改表中的数据时触发执行 优点: 安全性,审计(可以跟踪用户对数据的操作),实现复杂的数据完整性规则,提供了运行计划任务的另一种方法。 缺点: 消耗资源,对...
4.存储过程和触发器 4.1 存储过程 4.2 触发器 4.1.1 存储过程基本概念 4.1.2 创建和执行存储过程 4.1.3 存储过程的修改和删除
本文实例讲述了MySQL 触发器定义与用法。分享给大家供大家参考,具体如下: 语法 CREATE TRIGGER 触发器名称 –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { ...
高级部分的内容包含了视图的使用,存储过程的创建使用,索引,触发器,事务的使用,安全管理,数据库的备份与还原,最后对于提高性能简单总结 能学到什么:1. mysql的启动和关闭,使用数据库,对库的基本操作以及...
主要介绍了MySQL存储过程中的基本函数和触发器的相关学习教程,包括触发器的创建和删除等基本操作,需要的朋友可以参考下
5.4.4 存储过程和触发器 5.4.5 外键(Foreign Keys) 5.4.5.1 不使用外键的理由 5.4.6 视图(Views) 5.4.7 '--'作为一个 注解的开始 5.5 MySQL 遵循什么标准? 5.6 怎样处理没有提交/回卷...
5.4.4 存储过程和触发器 5.4.5 外键(Foreign Keys) 5.4.5.1 不使用外键的理由 5.4.6 视图(Views) 5.4.7 '--'作为一个 注解的开始 5.5 MySQL 遵循什么标准? 5.6 怎样处理没有提交...
可以连接到指定的MYSQL主机,支持使用HTTP管道以及/SSH/SSL,可创建新的表、视图、存储过程、函数、触发器及事件,支持删除及截位数据库。支持转储数据库,将数据库保存到SQL,编辑功能可以查找/替换指定内容,可列...
+ 5.4.4 存储过程和触发器 + 5.4.5 外键(Foreign Keys) # 5.4.5.1 不使用外键的理由 + 5.4.6 视图(Views) + 5.4.7 '--'作为一个 注解的开始 o 5.5 MySQL 遵循什么标准? o 5.6 怎样处理没有提交/回卷(COMMIT ...
触发器(trigger)是和表关联的特殊的存储过程,当数据库系统执行insert、update和delete事件时,会激活使其执行相应的操作。 2 创建和执行触发器 2.1 触发器中的 new和 old 在MySQL中用old和new表示触发器执行前和...
触发器是MySQL在5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是视图(view)与存储过程(procedure)。均属于相对“高级”一点的数据库必需功能。 目录 一、什么是触发器 MySQL触发器的作用 ...