手把手教你mysql(十三)mysql常用函数
一: 前言
Mysql>CREATE DATABASE IF NOT EXISTS `db_test` DEFAULT CHARSET gbk;
Mysql>CREATE TABLE test1(
id INT PRIMARY KEY AUTO_INCREMENT,
birthday DATE NOT NULL
)ENGINE =INNODB DEFAULT CHARSET gbk;
Mysql>INSERT INTO test1 VALUES(NULL,'2013-05-06'),(NULL,'2014-06-09');
这是我为大家准备的数据,以下函数只是比较常用的,其余的大家用到时可以去查API.
二: 日期和时间函数
1. CURDATE() 返回当前日期
2. CURTIME()
返回当前时间
3. NOW() 返回当前日期和时间
Mysql>SELECT CURDATE(),CURTIME(),NOW();
4. MONTH(d) 返回日期d 中的月份值,范围是1~12
5. DAY(date)返回date
的月份中日期,在1
到31
范围内.
Mysql>SELECT DISTINCT MONTH(birthday),DAY(birthday) FROM test1;
4. MONTH(d) 返回日期d 中的月份值,范围是1~12
5. DAY(date)返回date
的月份中日期,在1
到31
范围内.
Mysql>SELECT DISTINCT MONTH(birthday),DAY(birthday) FROM test1;
三: 字符串函数
1. LENGTH(s) 计算字符串s 的长度
2. UPPER(s) 把所有字母变成大写字母,UCASE(s)相同效果.
3. LOWER(s) 把所有字母变成小写字母,LCASE(s)相同效果
Mysql>SELECT LENGTH('abc'),UPPER('abc'),LOWER('ABC');
4.. CONCAT(str1,str2...strN) 将多个字符串连接成一个字符串
Mysql>SELECT CONCAT('hello,','world!');
5. REPLACE(str,from_str,to_str) 在str字符串中用to_str部分替换from_str部分
Mysql>UPDATE test1 SET birthday=REPLACE(birthday,'13','15') WHERE id=1;
四: 数学函数
1. A BS(x): 求绝对值
2. SQRT(x): 求平方根
3. MOD(x,y): 求余
4. Round(x,d):返回参数X
的四舍五入的有D
为小数的一个数字。如果D
为0
,结果将没有小数点或小数部分。
5. FLOOR(X)
:返回不大于X
的最大整数值。
6.
CEILING(X)
:
返回不小于X
的最小整数值。
7. RAND(N)
:
返回在范围0
到1.0
内的随机浮点值。如果一个整数参数N
被指定,它被用作种子值。
Mysql>SELECT ABS(-3),SQRT(4),MOD(9,4),9%4,ROUND(1.25,1),ROUND(1.6);
Mysql>SELECT FLOOR(1.2),FLOOR(-1.2),CEILING(1.2),CEILING(-1.2),RAND();
其实,RAND()还可以这样用
Mysql>SELECT * FROM test1 ORDER BY RAND();
五: 加密函数
1. PASSWORD(str) 一般对用户的密码加密不可逆
2. MD5(str) 普通加密不可逆
Mysql>SELECT PASSWORD('123456'),MD5('123456');
3. ENCODE(str,pswd_str) 加密函数,结果是一个二进制数,必须使用BLOB 类型的字段来保存它;
4. DECODE(crypt_str,pswd_str)
解密函数;
在这边pswd_str ENCODE和DECODE的时候必须相同
Mysql>SELECT ENCODE('123456','aa'),DECODE(ENCODE('123456','aa'),'aa');
在这边出现乱码是正常的,因为结果是一个二进制数/
六: 总结
今天为大家带来了mysql的常用函数,大家消化下,下节为大家带来存储过程,谢谢大家!