`
isiqi
  • 浏览: 15950183 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

mysql 储存过程、触发器的创建、删除及使用

阅读更多

##删除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触发器简介、创建触发器及使用限制分析

    本文实例讲述了mysql触发器简介、创建触发器及使用限制。分享给大家供大家参考,具体如下: 简介 SQL触发器是存储在数据库目录中的一组SQL语句。每当与表相关联的事件发生时,即会执行或触发SQL触发器,例如插入,...

    MySQL系列—-存储过程、触发器

    MySQL系列—-存储过程、触发器存储过程创建一个存储过程,使得结果输出两个数的和执行存储过程,计算38加上26的和触发器在student表中创建删除触发器ctr_del查看触发器ctr_del的一般信息和文本信息删除学号为...

    数据库原理及应用MySQL-触发器部分的知识点整理

    数据库原理及应用MySQL中触发器部分有关的知识点整理,包括再MySQL中创建、删除、查看触发器的相关知识点,并包括相关的语法和语句。还有使用触发器应该注意的一些要点。 适合数据库专业的或是计算机相关专业的朋友...

    MySQL 触发器的基础操作(六)

     在MySQL数据库中,数据库对象表是存储和操作数据的逻辑结构,而数据库对象触发器则用来实现由一些表事件触发的某个操作。在数据库系统中,当执行表事件时,则会激活触发器,从而执行器包含的操作。触发器的操作...

    详解MySQL数据库之触发器

    本文是对MySQL中触发器的总结,从触发器概念出发,结合实例对创建触发器、使用触发器、删除触发器进行介绍。 2 触发器简介 MySQL触发器和存储过程一样,都是嵌入到MySQL的一段程序。触发器是由事件来触发某个操作,...

    2021年MySQL高级教程视频.rar

    30.MySQL高级触发器创建及应用.avi └31.MySQL高级触发器查看及删除.mp4 ├第三天视频 01.MySQL高级今日内容.mp4 02.MySQL高级应用优化.avi 03.MySQL高级查询缓存概述及流程.avi 04.MySQL高级查询缓存配置参数.avi ...

    mysql 触发器用法实例详解

     触发器 trigger是一种特殊的存储过程,他在插入(inset)、删除(delete)或修改(update)特定表中的数据时触发执行,它比数据本身标准的功能更精细和更复杂的数据控制能力。触发器不是由程序调用,而是由某个...

    MySQL 触发器详解及简单实例

    MySQL 触发器简单实例 语法 CREATE TRIGGER <触发器名称> –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { BEFORE | AFTER } –触发器有执行的时间设置:...

    mysql触发器,游标

    是和表关联的特殊的存储过程,可以再插入,删除,修改表中的数据时触发执行 优点: 安全性,审计(可以跟踪用户对数据的操作),实现复杂的数据完整性规则,提供了运行计划任务的另一种方法。 缺点: 消耗资源,对...

    《数据库系统原理及应用》课件

    4.存储过程和触发器 4.1 存储过程 4.2 触发器 4.1.1 存储过程基本概念 4.1.2 创建和执行存储过程 4.1.3 存储过程的修改和删除

    MySQL 触发器定义与用法简单实例

    本文实例讲述了MySQL 触发器定义与用法。分享给大家供大家参考,具体如下: 语法 CREATE TRIGGER 触发器名称 –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { ...

    MySQL数据库入门到高级笔记快速学习pdf版本

    高级部分的内容包含了视图的使用,存储过程的创建使用,索引,触发器,事务的使用,安全管理,数据库的备份与还原,最后对于提高性能简单总结 能学到什么:1. mysql的启动和关闭,使用数据库,对库的基本操作以及...

    MySQL存储过程中的基本函数和触发器的相关学习教程

    主要介绍了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 怎样处理没有提交/回卷...

    MySQL中文参考手册.chm

    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管理工具-SQLyog图形化管理数据库工具

    可以连接到指定的MYSQL主机,支持使用HTTP管道以及/SSH/SSL,可创建新的表、视图、存储过程、函数、触发器及事件,支持删除及截位数据库。支持转储数据库,将数据库保存到SQL,编辑功能可以查找/替换指定内容,可列...

    MySQL中文参考手册

    + 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进阶三板斧(三)看清“触发器 (Trigger)”的真实面目

    触发器是MySQL在5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是视图(view)与存储过程(procedure)。均属于相对“高级”一点的数据库必需功能。 目录   一、什么是触发器 MySQL触发器的作用 ...

Global site tag (gtag.js) - Google Analytics