mysql 存储过程常用命令

本文详细介绍了MySQL存储过程的基础语法及应用实例,包括变量定义、赋值、循环结构、条件判断等核心内容,并提供了如何在存储过程中进行事务管理和SQL查询结果判断的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于存储过程的写法见:http://trinea.iteye.com/blog/977141

mysql中文参考文档见:http://dl.iteye.com/topics/download/82db8bb1-7c55-3e74-9f56-de5f8e004ded

 

0、存储过程中需要注意变量名最好和数据库字段名不要冲突

 

1、定义变量

DECLARE id int DEFAULT 1000000;

 DEFAULT 1000000可以省略,表示默认值。上句类似java的 int id = 1000000;

 

2、变量值赋值、算术操作

DECLARE id int DEFAULT 1000000;
DECLARE totalCount int DEFAULT 10000;
DECLARE maxId int;
SET maxId = id + totalCount;

 类似java

int id = 1000000;
int totalCount = 10000;
int maxId;
maxId = id + totalCount;

 

3、while循环

WHILE id<maxId DO
          set id=id+1;
END WHILE;

 

4、done循环

REPEAT  

UNTIL done END REPEAT;

 

5、事务

START TRANSACTION;

COMMIT;

 

6、if语句以及select结果判断

有时候需要在插入前判断是否该条记录已经存在,这时要先select,并判断select的结果,如下:

DECLARE bExist int;
select count(*) into bExist from relation where user_id = userId and member_id = '1009750';
if bExist=0 then
	insert into relation(id, user_id, member_id, gmt_create)
	values(CONCAT('', baseIndexId + userId), userId, '1009750', now());
end if;

上面语句就是先获取表中是否存在记录将count保存到变量bExist,根据变量的值判断是否insert

 

7、字符串操作

简单的concat,如CONCAT('user', id)

其他参考:http://trinea.iteye.com/admin/blogs/977156

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值