存储过程
存储过程(procedure)是完成特定功能的sql语句集,通过编译后存储在数据库中,通过指定的存储过程名称调用执行它存储过程 ====》 相当于 用户自定义的MySQL函数===》把需要被重复执行的sql语句保存在数据库中,后续通过调用该存储过程的方式去执行 存储过程中的sql语句的集合
存储过程 = sql语句集合 + 控制语句
创建:
create procedure dcs45()
begin
#存储过程的函数体===》后续再调用该存储过程是需要执行的sql语句
end;
create procedure dcs45(n int) ===> n为形式参数 **varchar不能当形式参数
begin
#存储过程的函数体===》后续再调用该存储过程是需要执行的sql语句
end;
调用:
call dcs45();
删除:
drop procedure if exists dcs45;
if 判断:
1.单分支
if 条件 then
sql语句
else
sql语句
end if;
2.多分支
if 条件 then
sql语句
else if 条件 then
sql语句
else
sql语句
end if;
end if;
**有多少个if就有多少个end if
创建变量: 要写在最前面
declare i int default(select count(*) from mm); ===> 声明i值 等于统计mm表的行数
declare j char(20) default ‘’; =====> 定义空字符串,注意要写上字符串大小。
while 循环:
while 条件 do
循环的sql语句
end while;
e.g
while n > i do
insert into mm(score) values (60);
set i = i+1;
end while;
CONCAT连接多个字符串;
e.g
concat (‘a’,‘b’) ==> 可以对传入的值进行拼接
floor(1 + RAND()*52 )获取到1到52之间的随机数
rand():随机函数,会生成0~1之间的任意小数
MD5 是 MySQL的一种加密方法:MD5(input) ====>对input的值进行加密,生成32位的字符串
substring (string ,position,length); =====>字符串截取函数,会截取字符串string从position位置开始共length个字符的子串
select substring(md5(rand()),1,6); 6位随机字符串
upper();====>把英文字母大写
select password(rand()) ===>password(): MySQL中密码的加密算法函数,得到一个由*+32位字母和数字组成的字符串。
页:
[1]