mysql数据库编程,内置函数,存储过程(循环插入)

mysql编程
注释:行:# 或者 --

定义变量
set 变量名 =变量名
注意:为了区分系统变量和字段 在加一个@标识符
例如   set @who ='韩当';

使用select 可以获得当前变量的值


select 10,15,20 into @a,@b,@c;

注意:=应该是赋值,但是在select语句内,就成了关系等于,使用专门的赋值运算符:=
同样使用与set

1、作用域, 用户定义的函数,是全局的(函数内可以),村子局部作用域变量,函数内定义的变量
2、有效期,回话结束(连接结束)


内置函数

数值函数
rand()得到0-1的随机数
floor()向下取整
cell()向上取整
round()四舍五入
format()格式化(千分位加逗号)

时间和日期函数

now()当前时间
unix_timestamp() unix时间戳
from_unixtime()

字符串函数

concat()字符串连接
length(),表示字节数  char_length()  字符数
substring() 截取字符串
位置从1开始

lpad()左边补足  例 select lpad('1',3,'0');  输出'001'

md5()常见的加密,不可逆的,都支持
password()加密,mysql独用的(2次sha1()的结果)
sha1()

自定义函数



delimiter $$
create function sayHello() return varchar(20)
begin
return 'hello world';
end
$$
delimiter;


存储过程插入(循环插入)

DROP PROCEDURE test_insert ;    如果已经存在这删除
DELIMITER ;;                                设置默认结束符为 ;;
CREATE PROCEDURE test_insert ()   创建存储过程
BEGIN                                                 开始

DECLARE i INT DEFAULT 0;              定义变量i并设置默认值为0

WHILE i<10                                     循环10次
DO                                        
INSERT INTO CMS.CMS_Module     插入数据
(
ModuleType,
ModuleName,
ModuleDescription,
DesignHTML,
QUERY
)
VALUES
(
'2',
CONCAT('活动',i),
'测试加入',
'aaaaaaaaaa',
''
);
SET i=i+1;                         i+1保证循环10次
END WHILE ;                     退出while循环

END;;                                  接收
DELIMITER ;                     改回默认结束符
CALL test_insert();                  调用

原文地址:https://www.cnblogs.com/hhfhmf/p/4831000.html