标准的流程语句
D:\trush\有道云笔记\qqC2318F2940B8485358688242FD080707\4aa91dce2afe45b184444f16ed848a92\clipboard.png
DELIMITER $CREATE PROCEDURE Only_one(a int,b int)BEGIN if a>b then SELECT a+b; ELSE IF a<b THEN SELECT b-a; ELSE SELECT a; END if; END if; end $DELIMITER ;
还有种写法 //
delimiter //DROP PROCEDURE if EXISTS mm;CREATE PROCEDURE mm()BEGIN SELECT * FROM emp;END ;//delimiter ;
注意有些版本不承认 delimiter $$
5.1.73 版本的就只能用 $
5.5.52 就可以用$$
concat拼接中文乱码问题
https://blog.csdn.net/fuxuejun/article/details/6284725
concat('数量:',CONVERT(int_num,char))
mysql 随机数
https://blog.csdn.net/horses/article/details/108083399
生成指定范围类的数据
low + RAND() * (high − low)SELECT 10 + rand(1) * 10;
1、随机获取一条数据:ORDER BY RAND();2、获取随机数0-1范围:SELECT RAND();3、取整1:SELECT CEIL(RAND());1:SELECT CEILING(RAND());0:SELECT FLOOR(RAND());4、CEIL(RAND()*N)的取值范围:1-N5、取x-y之间的随机数:SELECT (CEIL(RAND() * (y-x+1)) + (x-1));随机取整数3或4:SELECT (CEIL(RAND() * 2) + 2);随机取整数100-150:SELECT (CEIL(RAND() * 51) + 99);
1.存储过程时什么?
存储过程是完成特定功能的sql语句集合,存储过程=sql语句的集合+控制语句
2.存储过程的优点
a.存储过程创建可以多次调用,不需要重新编写存储过程语句。
b.假如要往表中插入大量的测试数据,用insert into语法执行速 度太慢,效率较低,
那么这个时候可以通过编写存储过程,把需要 插入的数据sql集合放入存储过程的函数体当中,
创建存储过程, 下次即可调用。存储过程
c.存储过程加快程序的运行速度
d.存储过程增加sql语句的功能和灵活性、创建的存储过程可以重复使用
3.存储过程的格式
create procedure aa( a int ) ==》创建一个叫做aa的存储过程, a 是形式参数,int是形参的类型begin ==》以begin开头sql语句+控制语句end ==》end 结尾call aa( 5) ==》call +存储过程名 呼出存储过程, 5是实际参数,如果有形式参数,不传实际参数会报错
4.if 判断
if 条件单分支:if 条件 then sql 语句;else sql 语句;end if;
if 条件的多分支: ==》有多少个if 就需要有多少个end if 结尾if 条件 then sql 语句else if 条件 then sql 语句else sql 语句end if;end if;
5.while 循环:
while 条件 do ==》满足条件时就会进入到循环体,直到条件不满足时就跳出循环
sql 语句
end while ;
6.定义变量和设置
set 设置变量的变化
set i=i+1;
declare 定义变量 (必须放在存储过程的最开始)
declare i int(4) default (select count(*) from mm);
数据库操作语言:DML Data Manipulation Language
数据库定义语言:DDL Data Definition Language
|
|