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(); 调用