MySQL存储过程示例

article/2025/9/29 19:05:47

实例1:

为了演示MySQL中的存储过程,我们先创建一些表和数据:

drop table if exists my_test_table;
create table my_test_table (id integer primary key not null AUTO_INCREMENT,name varchar(20),age integer,point double
);
insert into my_test_table (name,age,point) values ('刘德华',40,10.0),('周杰伦',30,20.0),('周星驰',20,40.0),('范晓萱',20,20.0),('陈绮贞',10,10.0),('朴树',30,12.0),('谢天笑',40,10.0),('谢春花',20,10.0),('房东的猫',50,100.0),('许巍',30,10.0);

然后创建一个空参数的存储过程:

delimiter //
create procedure test_procedure1()
begin select avg(point) as pointaveragefrom my_test_table;
end //
delimiter ;

然后运行这个存储过程:

call test_procedure1()

可以看到结果如下:

pointaverage|
------------|24.2|

删除存储过程:

drop procedure test_procedure1

实例2:

举例:求两个数的最大值

if实现

#DELIMITER $$
CREATE PROCEDURE compare(IN n1 INT,IN n2 INT)
BEGINSET @res=0;IF n1 > n2 THENSET @res=n1;ELSEIF n1 = n2 THENSET @res=n1;ELSESET @res=n2;END IF;
END #$$
#DELIMITER ;
call compare(100,2);
select @res;

b16c6d9df10ece29eac2986bec9cc864.png

CASE语句

#DELIMITER $$
CREATE PROCEDURE compare2(IN n1 INT,IN n2 INT)
BEGINSET @res=0;CASE  WHEN n1>n2 THEN SET @res=n1;WHEN n1=n2 THEN SET @res=n1;ELSE SET @res=n2;END CASE;
END #$$
#DELIMITER ;

WHILE语句

#delimiter $$
CREATE PROCEDURE inserinfo3()
BEGINDECLARE x INT DEFAULT 9;ins: WHILE x<=18 DOSET x=x+1;INSERT INTO users(name,gender) VALUES(x,'女');END WHILE;
END #$$
#delimiter ;

-----------------------------------

公众号【Csharp编程大全】,需要进技术群交流的,请添加小编mm1552923


http://chatgpt.dhexx.cn/article/oIkiTqYt.shtml

相关文章

mysql 存储过程详解

前言 在项目开发中&#xff0c;经常会遇到这样一种场景&#xff0c;当修改A表的一条数据时&#xff0c;需要关联修改B表、C表甚至其他更多表的数据&#xff0c;为什么会这样呢&#xff1f; 在真实的业务场景中&#xff0c;往往一张表的数据关联的业务是多样的&#xff0c;举例…

mysql存储过程call_mysql call 存储过程

PHP调用MYSQL存储过程实例 PHP调用MYSQL存储过程实例 标签&#xff1a; mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一&#xff1a;无参的存储过程$conn mysql_connect(localhost,root,root) o... 文章 thinkyoung 2016-01-20 544浏览量 存…

ORACLE存储过程

oracle存储过程 目录 oracle存储过程 一.什么是存储过程 二.为什么要写存储过程 三.存储过程基础 1.存储过程结构 2.存储过程语法 3.pl/sql处理存储过程 4.案例实战 四.存储过程进阶 1.BUIK COLLECT 2.FORALL 3.pl/sql调试存储过程 4.案例实战 附.参考资料 一.什…

Greenplum创建存储过程

1.美图 1.对比 greenplum 的plpgsql 注意: greenplum 的plpgsql 与 postgresql 不是完全兼容的。plpgsql 不明确界定 函数和存储过程&#xff0c;“returns void” 表示 存储过程&#xff0c;“return 数据类型” 表示 函数。greenplum中的函数分成3种类型: immutable(不可变…

Mysql 创建存储过程和函数及各种例子

Mysql 创建存储过程和函数及各种例子 1. Mysql 创建存储过程1.1 前言知识1.1.1 语法结构1.1.2 简单解释 1.2 创建存储过程入门例子1.2.1 无参存储过程1.2.1.1 不带变量1.2.1.2 带变量 1.2.2 有入参的存储过程1.2.3 有出参的存储过程1.2.4 有入参和存储的存储过程1.2.5 inout的存…

oracle 存储过程 实例 循环 给查询赋值 游标取值

CREATE OR REPLACE PROCEDURE p_updete_gs is --仅供参考 i_jdid varchar(32); i_ryid varchar(32); cursor cur is --游标 给查询赋值 select c.jdid jdid, t.ryid rybh from t_zcj_rctj t,t_zj_jd c where t.ryidc.rybh and t.bgzt<>3 and c.bgzt<>…

SQL存储过程实例详解

SQL存储过程实例详解 本文用3个题目&#xff0c;从建立数据库到创建存储过程&#xff0c;详细讲解数据库的功能。 题目1 学校图书馆借书信息管理系统建立三个表&#xff1a; 学生信息表&#xff1a;student 字段名称 数据类型 说明 stuID char(10) 学生编号&#xff0c;主…

oracle存储过程实例

认识存储过程和函数 存储过程和函数也是一种PL/SQL块&#xff0c;是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序&#xff0c;我们通常把PL/SQL程序称为无名块&#xff0c;而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比&#xff…

MySQL存储过程实例

1、简单实例 create procedure demo.p_test1() begin-- 使用 declare语句声明一个变量declare id int default 0;declare name varchar(50) default ;-- 使用set语句给变量赋值set id7521;-- 将users表中id1的名称赋值给usernameselect ename into name from demo.emp where e…

存储过程详解与实例

存储过程 1、存储过程的优缺点 优点 通过把处理封装在容易使用的单元中&#xff0c;简化复杂的操作&#xff1b;简化对变动的管理&#xff1b;通常存储过程有助于提高应用程序的性能&#xff1b;存储过程有助于减少应用程序和数据库服务器之间的流量&#xff0c;因为应用程序…

数据库存储过程讲解与实例

目录 1 存储过程简介 2 存储过程使用 2.1 创建存储过程 2.2 in&#xff0c;out以及inout 1 存储过程简介 SQL语句需要先编译然后执行&#xff0c;而存储过程&#xff08;Stored Procedure&#xff09;是一组为了完成特定功能的SQL语句集&#xff0c;经编译后存储在数据库中…

【数据库】ACID底层实现原理

前言 我们在学MySQL的时候事务是必须要知道的部分&#xff0c;也就是原子性(Atomic)、一致性(Consistency)、隔离性(isolation)和持久性(Persistence)。知道他的概念其实是远远不够的&#xff0c;现在越来越卷&#xff0c;那么就必须知道的他的原理什么&#xff1f;怎么是实现…

数据库-ACID

ACID:原子性、持久性、一致性、独立性 事务的原子性(Atomicity)&#xff1a;是指一个事务要么全部执行&#xff0c;要么不执行&#xff0c;也就是说一个事务不可能只执行了一半就停止了。比如你从取款机取钱&#xff0c;这个事务可以分成两个步骤&#xff1a;1划卡&#xff0c;…

Mysql ACID详解

ACID简述 Atomicity、Durability实现之 &#xff08;WALredo log&#xff09; Atomicity 、Isolation实现之 &#xff08;锁 OR undo logMVCC&#xff09; 一、前言 主要是后台程序员都会和数据库打交道&#xff0c;最常用的关系型数据库是MySQL&#xff0c;最常用的存储引擎是…

数据库acid实现原理(二)

一、基础概念 事务&#xff08;Transaction&#xff09;是访问和更新数据库的程序执行单元&#xff1b;事务中可能包含一个或多个sql语句&#xff0c;这些语句要么都执行&#xff0c;要么都不执行。作为一个关系型数据库&#xff0c;MySQL支持事务&#xff0c;本文介绍基于MyS…

什么是 ACID

MySQL ACID及四种隔离级别的解释 脏读、非重复读、幻读 ACID&#xff0c;是指数据库管理系统&#xff08;DBMS&#xff09;在写入或更新资料的过程中&#xff0c;为保证事务&#xff08;transaction&#xff09;是正确可靠的&#xff0c;所必须具备的四个特性&#xff1a;原子性…

MySQL的ACID是如何实现的?

写在前面 本文主要探讨MySQL InnoDB 引擎下ACID的实现原理&#xff0c;对于诸如什么是事务&#xff0c;隔离级别的含义等基础知识不做过多阐述。 ACID MySQL 作为一个关系型数据库&#xff0c;以最常见的 InnoDB 引擎来说&#xff0c;是如何保证 ACID 的。 &#xff08;Atomi…

数据库的ACID原则

一、 事务的ACID属性 原子性&#xff08;Atomicity&#xff09; 原子性是指事务是一个不可分割的工作单位&#xff0c;事务中的操作要么都发生&#xff0c;要么都不发生。 一致性&#xff08;Consistency&#xff09; 事务必须使数据库从一个一致性状态变换到另外一个一致性状…

ACID理论

ACID 理论是对事务特性的抽象和总结&#xff0c;方便我们实现事务。可以理解成&#xff1a;如果实现了操作的 ACID 特性&#xff0c;那么就实现了事务。 1. 事务是什么 事务可以看成是一个或者多个操作的组合操作&#xff0c;并且它对这个组合操作提供一个保证&#xff0c;如果…

mysql acid

本文实验的测试环境&#xff1a;Windows 10cmdMySQL5.6.36InnoDB 一、事务的基本要素&#xff08;ACID&#xff09; 1、原子性&#xff08;Atomicity&#xff09;&#xff1a;事务开始后所有操作&#xff0c;要么全部做完&#xff0c;要么全部不做&#xff0c;不可能停滞在中间…