MySQL存储过程、存储函数与触发器

mysql高级--视图、存储过程、函数、触发器 目录一、视图1、概念2、为什么使用视图?3、视图语句(1)定义视图:(2)使用视图(3)删除视图二、存储过程1.概述2、MySQL存储过程的定义(1)创建存储过程的语法格式3、存储过程使用(1)定义第一个存储过程(2)定义一个有参数的存储过程(3)流程控制语句 if else(4)使用存储过程插入信息(5)mybatis 调用存储过程三、函数(1)不带参数(2)带参数 if else(3)带参数四、触发器(1)删除部门信息之前,自动触发删除员工关联部门信息(2)添加用户信息后,向日志表插入信息 一、视图 1 阅读详情
-- 创建一个存储过程
DELIMITER $
CREATE
PROCEDURE存储过程名称(返回类型参数名1参数类型1,....)
[......]
BEGIN
-- 具体组成存储过程的SQL语句....
END $
DELIMITER ;

-- 创建一个存储函数
DELIMITER $
CREATE
FUNCTION存储函数名称(参数名1参数类型1,....)
RETURNS数据类型
[NOT]DETERMINISTIC statements
BEGIN
-- 具体组成存储函数的SQL语句....
END $
DELIMITER ;

-- 创建一个触发器
CREATETRIGGER触发器名称
{BEFORE | AFTER}{INSERT|UPDATE|DELETE}ON表名
FOREACHROW
-- 触发器的逻辑(代码块);

-- ------------- 用户变量与局部变量 ---------------
-- 定义、修改用户变量
set@变量名称=变量值;
-- 查询用户变量
select@变量名称;

-- 定义局部变量
DECLARE变量名称数据类型default默认值;
-- 为局部变量赋值(方式1)
SET变量名=变量值;
-- 为局部变量赋值(方式2)
SET变量名:=变量值;
-- 为局部变量赋值(方式3)
select查询结果字段into变量名from表名;

-- ------------- 流程控制 ---------------
-- if、elseif、else条件分支语法
IF 条件判断THEN
-- 分支操作.....
ELSEIF 条件判断 THWN
-- 分支操作.....
ELSE
-- 分支操作.....
END IF

-- case分支判断语句
-- 第一种语法
CASE变量
WHEN值1THEN
-- 分支操作1....
WHEN值2THEN
-- 分支操作2....
.....
ELSE
-- 分支操作n....
ENDCASE;

-- 第二种语法
CASE
WHEN条件判断1THEN
-- 分支操作1....
WHEN条件判断2THEN
-- 分支操作2....
.....
ELSE
-- 分支操作n....
ENDCASE;

-- 循环:LOOP、WHILE、REPEAT
-- loop循环
循环名称:LOOP
-- 循环体....
END LOOP 循环名称;

-- while循环
【循环名称】:WHILE 循环条件 DO
-- 循环体....
END WHILE 【循环名称】;

-- repeat循环
【循环名称】:REPEAT
-- 循环体....
UNTIL 结束循环的条件判断
END REPEAT 【循环名称】;

-- 循环跳转
LEAVE 【循环名称】;-- 结束某个循环体
ITERATE 【循环名称】;-- 跳出某个循环体,继续下次循环

-- ------------- 存储过程的游标 ---------------
-- ①声明(创建)游标
DECLARE游标名称CURSORFORselect...;

-- ②打开游标
OPEN游标名称;

-- ③使用游标
FETCH游标名称INTO变量名称;

-- ④关闭游标
CLOSE 游标名称;

在上面列出了MySQL中存储过程、存储函数与触发器的相关语法,接着再来聊聊管理的命令:

• SHOW PROCEDURE STATUS;:查看当前数据库中的所有存储过程。

• SHOW PROCEDURE STATUS WHERE db = '库名' AND NAME = '过程名';:查看指定库中的某个存储过程。

• SHOW CREATE PROCEDURE 存储过程名;:查看某个存储过程的源码。

• ALTER PROCEDURE 存储过程名称 ....:修改某个存储过程的特性。

• DROP PROCEDURE 存储过程名;:删除某个存储过程。

• SHOW FUNCTION STATUS;:查看当前数据库中的所有存储函数。

• SHOW CREATE FUNCTION 存储过程名;:查看某个存储函数的源码。

• ALTER FUNCTION 存储过程名称 ....:修改某个存储函数的特性。

• DROP FUNCTION 存储过程名;:删除某个存储函数。

• SHOW TRIGGERS;:查看当前数据库中定义的所有触发器。

• SHOW CREATE TRIGGER 触发器名称;:查看当前库中指定名称的触发器。

• SELECT * FROM information_schema.TRIGGERS;:查看MySQL所有已定义的触发器。

• DROP TRIGGER IF EXISTS 触发器名称;:删除某个指定的触发器。

OpenSceneGraph编译、安装、开发环境 详细描述WIndows 10下使用Visual Studio 2019编译OpenSceneGraph 3.6.5的操作流程 阅读详情

相关推荐

〖进阶篇1〗YAML参数解析:从nav2_params.yaml看机器人导航调优

本文深入解析了ROS2 Nav2导航系统中关键的nav2_params.yaml文件,提供了从定位、行为树、运动控制到环境感知等核心模块的参数调优实战指南。文章通过具体场景案例,如狭窄走廊、动态仓库和高精度对接,详细阐述了如何调整AMCL粒子数、控制器权重、代价地图膨胀半径等参数,以解决机器人导航中的犹豫、碰撞和精度问题,帮助开发者实现从“能用”到“好用”的进阶。

m9n0o的博客 417

事物、锁、存储过程

事物、锁、存储过程 https://www.cnblogs.com/cf425/p/13362848.html 光头强 探索一切 事物、锁、存储过程 1.1 掌握事务的基本知识 为单个工作单元而执行的一系列操作。如查询、修改数据、修改数据定义。 语法:显示定义事务的开始、提交 BEGIN TRAN INSERT INTO b(t1) VALUES(1) INSERT INTO b(t1) VALUES(2) ...

north1005的博客 231

FDTD材料nk值拟合优化指南:利用材料资源管理器提升光学模型精度

本文详细介绍了如何利用FDTD仿真软件中的材料资源管理器,对材料nk值进行精确拟合与优化,从而提升光学模型的仿真精度。文章通过实战案例,解析了拟合参数调整、报告解读以及针对varFDTD求解器的特殊注意事项,帮助用户从根本上解决仿真结果不准的常见问题。

weixin_29196891的博客 352

mysql

1.如计划在列上建索引,就尽量避免设计成可为null;timestamp列默认为not null 2.应该使用32位无符号整数存储ip地址,比用字符串存好

ichasel的专栏 431

深入解析以太网接口中的BOB Smith电路设计

本文深入解析以太网接口中的BOB Smith电路设计,详细介绍了其在共模噪声抑制、浪涌防护和EMI优化中的关键作用。通过实际案例和设计要点,帮助工程师正确选择75Ω电阻和高压电容等元件,优化PCB布局,解决电压型与电流型PHY的设计差异,以及千兆与百兆以太网的特殊考量。

weixin_28339967的博客 684

矩阵束(Matrix Pencil)入门:从通信系统到控制理论,它为何是建模利器?

本文深入探讨矩阵束(Matrix Pencil)在通信系统与控制理论中的关键作用,揭示其作为复杂系统建模利器的独特价值。从MIMO系统的多径干扰分析到电力系统稳定性判据,矩阵束通过`A-λB`方程求解提供精准建模方案,显著提升5G通信和工业控制等领域的性能表现。

weixin_30134145的博客 358

(保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示

mysql、sql语句、索引、存储过程

zhangfuping123456789的博客 4415

博途AI助手演示,完成简单且重复的梯形图代码,并导入到博途

自写个博途AI助手,下面演示AI帮我生成完善多个模拟量输入转换的代码,

gsjkwg的博客 1523

【MySQL】存储过程、存储函数、触发器

数据库存储过程、触发器

低调做人,低调编码,神码都是浮云 2521

本地部署AI应用:基于Google Gemini的banana-prompt快速上手指南

AI应用开发的核心在于将大模型能力集成到实际场景中,其原理是通过API调用将用户输入转化为模型可理解的指令,再由模型生成响应。这一技术价值在于降低AI应用开发门槛,实现数据本地化处理与隐私保护。在工程实践中,开发者常面临环境配置复杂、API集成繁琐等挑战。本文聚焦于使用banana-prompt工具包,通过TypeScript技术栈和npm包管理,快速在Windows本地部署基于Google Gemini API的AI应用。该方案特别适用于ai-prompts提示词工程和content-creation内容

weixin_27188815的博客 314

图数据库Neo4j面试内容整理-Neo4j的性能

在执行复杂关系查询时,Neo4j 通过图结构的高效存储和查询机制,能够比传统的关系型数据库提供更快的性能,尤其是在涉及深层关系的查询时。通过合理的配置、优化查询和使用合适的硬件,Neo4j 可以处理大规模的数据集和高并发的查询请求,满足企业级应用的需求。Neo4j 在处理图数据时,通过优化图的存储、查询和遍历等方面,提供了高效的性能,特别适合用于需要处理复杂关系和多层次连接的应用场景,如社交网络、推荐系统、知识图谱等。:Neo4j 会根据查询的结构和数据的分布自动选择最优的查询计划。

不务正业的猿 585

【MySQL】存储过程,存储函数,触发器

MySQL存储过程是一种预先编写并存储在数据库中的可重复使用的SQL代码块,它能够通过一个名称被调用执行。存储过程可以包含复杂的逻辑操作,如条件判断、循环、变量操作等,允许将一系列SQL语句组合成一个单元,以便在需要时高效执行。换句话说,就是将多个 SQL 语句组合成一个只需要使用命令“CALL xx”就能执行的集合,该集合就称为存储过程(stored procedure )。“存储”( stored)表示保存,“过程”(procedure)表示步骤。

2301_80224556的博客 1503

Qt for WebAssembly环境搭建

一、前言 二、Ubuntu 1、在线安装Qt15 在线安装下载器:https://download.qt.io/official_releases/online_installers/ 安装时记得勾选WebAssembly,如下: 2、安装依赖 # Install Python sudo apt-get install python2.7 # Install CMake (optional, only needed for tests and building Binaryen) sudo apt

贝勒里恩的博客 3667

MySQL之存储过程,存储函数,触发器详解

存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是数据库 SOL语言层面的代码封装与重用。用户定义变量是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接使用@变量名就可以,其作用域为当前会话在其他会话中无效注:用户定义的变量无需对其进行声明或初始化,只不过获取到的值为null(如果不给用户变量赋值就是null)

huaz_md的博客 1676

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MYSQL触发器,存储过程与函数

触发器,存储过程,函数的简单演示

好好睡觉 1097

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Mysql-视图,函数,存储过程,触发器

自定义函数: 计算折扣价=> 单价,折扣beginend //delimiter;=> 声明该函数是确定性函数,即输入相同时,输出结果也相同使用函数工具核心能力触发方式典型用途视图简化查询、数据隔离被动查询(SELECT)封装复杂查询、限制数据访问函数计算并返回单个值主动调用(嵌入 SQL)封装计算逻辑、格式化数据存储过程执行复杂流程、事务处理主动调用(CALL)业务逻辑处理、批量操作触发器自动响应数据变更事件触发(INSERT等)

2501_92004703的博客 1179

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MySQL函数、视图、存储过程及触发器

接上篇讲述了MySQL的多表查询,此篇讲述MySQL的常用函数以及视图,存储过程,触发器等MySQL对象,虽然在开发中我们用到的不多,但是针对于使用MySQL帮助我们更好的帮助我们开发,这三个部分还是很重要的。

IDEA操作工的博客 762

MySQL 存储过程、函数、触发器、事件

​ 存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。​ 存储过程和函数的区别在于函数必须有返回值,而存储过程没有。​ 函数 : 是一个有返回值的过程;​ 过程 : 是一个没有返回值的函数。

qq_57570052的博客 1688

学习MySQL之视图、存储过程、存储函数、触发器篇

本文系统总结了MySQL中视图、存储过程、存储函数和触发器的核心知识点。视图是虚拟表,存储SQL查询逻辑;存储过程是预编译SQL集合,支持变量、参数和流程控制;存储函数是有返回值的存储过程;触发器在数据变更前后执行特定操作。文章详细介绍了各功能的语法结构、使用场景和注意事项,包括视图的检查选项、存储过程的游标和条件处理、触发器的NEW/OLD引用等。这些内容可作为日常开发的快速参考指南,后续将根据实际工作需求补充更深层次的知识点。

qq_40821667的博客 1045

MySQL触发器和存储过程;MySQL触发器简介、触发器创建与删除;MySQL存储过程的创建和调用、创建和调用存储函数、触发器和存储过程和存储函数的示例;

目录MySQL——触发器1、触发器简介2、创建触发器创建触发器的示例删除触发器存储过程和函数1、存储过程创建与调用2、查看存储过程3、存储函数创建和调用1> 创建存储函数2> 调用存储函数4、 存储函数示例5、修改存储函数6、删除存储函数 MySQL——触发器 1、触发器简介 触发器(trigger)是一个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发, 比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整

milu_nff的博客 1429

MySQL基础之触发器,函数,存储过程

ITERATE : 通过引用复合语句的标号,来从新开始复合语句,在MySQL的LOOP,WHILE和REPEAT语句中,当想再次执行循环主体时,可以使用ITERATE语句,即:当不满足条件时,要继续执行的意思。REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替换search_str。SUBSTRING (str , position [,length ]) //从str的position开始,取length个字符,...

上善若泪 3559

MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】

MySQL 进阶使用

功不唐捐,玉汝于成 1829

MYSQL实训七——存储过程、函数与触发器

MYSQL实训七——存储过程、函数与触发器

zrjwxhn的博客 8043

学习mysql的游标,存储过程,存储函数,视图,触发器

MySQL游标 MySQL游标是一种在MySQL存储过程中使用的数据结构,它允许开发人员对结果集进行迭代,类似于指针或迭代器。 以下是一个简单的示例,演示如何使用MySQL游标来遍历查询结果集: DECLARE cur CURSOR FOR SELECT column1, column2 FROM table;//创建游标 //创建局部变量 DECLARE done BOOLEAN DEFAULT FALSE; DECLARE var1 VARCHAR(50); DECLARE var2 VAR

didikai的博客 1235

1. MySQL的函数、视图、存储过程、触发器

索引、视图、存储过程和函数、触发器1.1.11.22.2.12.23.3.13.23.34.4.14.24.3 1. 1.1 1.2 2. 2.1 2.2 3. 3.1 3.2 3.3 4. 4.1 4.2 4.3

Buluchacha的博客 3223

MYSQL中的触发器、存储函数存储过程

触发器、存储函数存储过程总结

qq_54842049的博客 1470
上一篇: MySQL事务与锁相关的命令
下一篇: MySQL用户与权限管理
得闲饮茶呃
博客等级 码龄4年 303粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值