存储结构一般用来插入更新数据
函数用来查询
一、 创建存储结构
DELIMITER 符号x //设置结束符
--------------------------------------------------------
CREATE PROCEDURE 存储过程名(参数列表)
BEGIN
存储过程体;
END 符号x
--------------------------------------------------------
CALL 存储过程名 符号x //调用存储过程
参数别表填写规则
IN 名字 类型
OUT 名字 类型
案例
DELIMITER $
create procedure boy(IN girl varchar(20),out bname varchar(20),out cp int)
begin
select bo.boyname, bo.usrcp into bname,cp
from boys bo
inner join beauty b on bo.boyid=b.boyid
where girl=b.name;
END $
call(“小昭”,@bname,@cp)$
select @bname,@cp$
二、删除,查看存储结构
drop procedure 名字
show create procedure 名字
三、函数创建
create function 函数名( 参数 类型 ) returns 返回类型
begin
函数体
end
//调用
select 函数名(参数)
案例
create function my() return int
begin
declare c int default 0;
select count(*) into c
from employees;
return c;
end
四、流程控制
4.1 分支结构
select if(表达式1,表达式2,表达式3)
//可在任何地方使用
if 条件1 then 语句1;
else if 条件2 then 语句2;
end if;
//应用在begin end 中
4.2 循环结构
[标签:] while 循环条件 do
循环体;
end while [标签];
//iterate:类似continue
//leave:类似break
案例
create procedure wh(IN ic INT)
begin
delare i int default 1;
a:while i < ic do
insert into admin(username,'password') values(concat('tom',i),'666');
if i>20 then leave a;
end if;
SET i=i+1;
end while a;
end $
网友评论