常用函数
数据函数
1 2 3 4 5
| SELECT ABS(-8); SELECT CEILING(9.4); SELECT FLOOR(9.4); SELECT RAND(); SELECT SIGN(0);
|
字符串函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| SELECT CHAR_LENGTH('狂神说坚持就能成功'); SELECT CONCAT('我','爱','程序'); SELECT INSERT('我爱编程helloworld',1,2,'超级热爱'); SELECT LOWER('luckytiger'); SELECT UPPER('luckytiger'); SELECT LEFT('hello,world',5); SELECT RIGHT('hello,world',5); SELECT REPLACE('狂神说坚持就能成功','坚持','努力'); SELECT SUBSTR('狂神说坚持就能成功',4,6); SELECT REVERSE('狂神说坚持就能成功');
|
日期和时间函数
1 2 3 4 5 6 7 8 9 10 11 12 13
| SELECT CURRENT_DATE(); SELECT CURDATE(); SELECT NOW(); SELECT LOCALTIME(); SELECT SYSDATE(); SELECT YEAR(NOW()); SELECT MONTH(NOW()); SELECT DAY(NOW()); SELECT HOUR(NOW()); SELECT MINUTE(NOW()); SELECT SECOND(NOW());
|
系统信息函数
1 2
| SELECT VERSION(); SELECT USER();
|
聚合函数
函数名称 |
描述 |
COUNT() |
返回满足Select条件的记录总和数,如 select count(*) 【不建议使用 *,效率低】 |
SUM() |
返回数字字段或表达式列作统计,返回一列的总和。 |
AVG() |
通常为数值字段或表达列作统计,返回一列的平均值 |
MAX() |
可以为数值字段,字符字段或表达式列作统计,返回最大的值。 |
MIN() |
可以为数值字段,字符字段或表达式列作统计,返回最小的值。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| SELECT COUNT(studentname) FROM student; SELECT COUNT(*) FROM student; SELECT COUNT(1) FROM student;
SELECT SUM(StudentResult) AS 总和 FROM result; SELECT AVG(StudentResult) AS 平均分 FROM result; SELECT MAX(StudentResult) AS 最高分 FROM result; SELECT MIN(StudentResult) AS 最低分 FROM result;
|
MD5
MD5简介
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
实现数据加密
新建一个表 testmd5
1 2 3 4 5 6
| CREATE TABLE `testmd5` ( `id` INT(4) NOT NULL, `name` VARCHAR(20) NOT NULL, `pwd` VARCHAR(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8
|
插入一些数据
1
| INSERT INTO testmd5 VALUES(1,'luckytiger','123456'),(2,'luckytiger1','456789')
|
如果我们要对pwd这一列数据进行加密,语法是:
1
| update testmd5 set pwd = md5(pwd);
|
如果单独对某个用户的密码加密:
1 2
| INSERT INTO testmd5 VALUES(3,'luckytiger2','123456') update testmd5 set pwd = md5(pwd) where name = 'luckytiger2';
|
插入新的数据自动加密
1
| INSERT INTO testmd5 VALUES(4,'luckytiger3',md5('123456'));
|
查询登录用户信息(md5对比使用,查看用户输入加密后的密码进行比对)
1
| SELECT * FROM testmd5 WHERE `name`='luckytiger4' AND pwd=MD5('123456');
|
小结
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| abs(x) format(x, d) ceil(x) floor(x) round(x) mod(m, n) pi() pow(m, n) sqrt(x) rand() truncate(x, d) now(), current_timestamp(); current_date(); current_time(); date('yyyy-mm-dd hh:ii:ss'); time('yyyy-mm-dd hh:ii:ss'); date_format('yyyy-mm-dd hh:ii:ss', '%d %y %a %d %m %b %j'); unix_timestamp(); from_unixtime(); length(string) char_length(string) substring(str, position [,length]) replace(str ,search_str ,replace_str) instr(string ,substring) concat(string [,...]) charset(str) lcase(string) left(string, length) load_file(file_name) locate(substring, string [,start_position]) lpad(string, length, pad) ltrim(string) repeat(string, count) rpad(string, length, pad) rtrim(string) strcmp(string1 ,string2) count() sum(); max(); min(); avg(); group_concat() md5(); default();
|