您的位置:首页 > 数据库 > MySQL

mysql 函数及存储过程

2017-08-27 12:52 477 查看

日期函数

now():获取当前日期时间 yyyy-MM-dd hh:mm:ss

CURDATE();获取当前日期 yyyy-MM-dd

CURTIME();获取当前时间 hh:mm:ss

DATE_ADD();对时间进行修改; select date_add(‘2017-1-12’,interval 1 year); select date_add(‘2017-1-12’,interval 1 year);

DATEDIFF();获取两个日期之间的差; select datediff(‘2017-01-12’,’2017-01-22’);

DATE_FORMAT();修改日期的返回模式;select DATE_FORMAT(‘2017-01-09’,’%Y-%m-%d’);

数值函数

POWER(args1,args2):求冥,power(3,3) –27

CEIL(2.13)–3:向上取整数

FLOOR() ::向下取整数

MOD() :取模

round():四舍五入

TRUNCATE():select truncate(125.2,0)–125

字符函数

CONCAT(‘%’,”args”,”%”):连接函数

CONCAT_WS(module,args1,args2,….):连接字符串以module分割

FORMAT(2.13,1)–2.1; 格式化返回数值字符串。

LOWRER(args):转小写

UPPER(args):转大写

LEFT(args,length):去字符串左边的长度为length的字符

RIGHT(args,length):去字符串右边的长度为length的字符

信息函数

CONNECTION_ID():获取连接Id

DATABASE():当前数据库

LAST_INSERT_ID():最后插入记录(必须存在主键Id)

USER():当前用户

VERSION();当前版本

聚合函数(必须用在sql语句中 select avg(id) from table;)

AVG():求平均值 select avg(id) from table;

COUNT():统计 select Count(id) from table;

MAX():最大值 select MAX(id) from table;

MIN():最小值 select MIN(id) from table;

SUM():求和 select SUM(id) from table;

加密函数

MD5():加密函数

PASSWORD():修改自身密码

自定义函数

CREATE FUNCTION funName() RETURNS VARCHAR(30)

RETURN DATE_FORMAT(NOW().”%Y年%m月%d日 %H点:%i分:%s秒”);

存储过程

语法:

1>无参数的存储过程

CREATE PROCEDURE sp1 SELECT VERSION();

2>带in参数的过程

CREATE PROCEDURE removeByUserid(IN p_id int unsigned)

begin

delete from table where id = delid ;

end;

3>创建带有in和out的存储过程

DELIMITER // (转换结束标示)

CREATE PROCEDURE PROCEDURENAME(IN p_id INT UNSIGNED,OUT USERNUMS UNSIGNED)

BEGIN

DELETE FROM TABLE1 WHERE ID = p_id;

SELECT COUNT(id) FROM TABLE1 into USERNUMS ;

END

//

DELIMITER ;

调用:CALL PROCEDURENAME(args,@arg)

4>创建多个out 的存储过程

CREATE PROCEDURE procedureName(in p_age SMALLINT unsigned,OUT deleteusers SMALLINT UNSIGNED,OUT usercounts SMALLINT UNSIGNED)

BEGIN

DELETE FROM users2 WHERE age = p_age;

select ROW_COUNT() into deleteusers ;

select count(id) from users2 into usercounts ;

end

5>删除存储过程

drop procedure procedureName;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: