常见函数
1、运算函数
select ABS(-8) -- 绝对值
select ceiling(9.4) -- 向上取整
select floor(9.4) -- 向下取整
select rand() -- 返回一个0到1的随机数
select sing(10) -- 判断数的符号,0->0,负数->-1,正数->1
2、字符串函数
select char_length('hellosql') --放回字符串长度
select concat('hello','sql') --拼接字符串
select insert('hellosql',1,5,'thanks') --在某个位置替换某个长度
select lower('Mysql') --小写字母
select uper('Mysql') --大写字母
select instr('hellosql','e') --放回第一次出现的子串的索引
select peplace('hellosql','hello','thanks') --替换出现的指定字符串
select substr('hellosql',1,5) --会返回hello,返回指定的一段字符串
select revsrse('lqsolleh') --反转字符串
-- 实例:找出姓周的,改成姓邹的
select peplace(studentname,'周','邹') from student
where studentname like '周%'
3、时间和系统函数
select curdate() -- 获取当前日期
select now() -- 获取当前时间
select localtime() -- 本地时间
select sysdate() -- 系统时间
select year(curdate())
-- 这个函数可以是year,month,day,hour,minutes,second,括号里的是一个日期的格式
select system_user() --返回root
select user() -- 返回root
select version() -- 返回mysql的版本信息
聚合函数
- count()
- sum()
- avg()
- max()
- min()
-- count(),查询一个表中有多少行数据
-- 字段查询会忽略null,而后面的不会
select count(`studnetid`) 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不可逆,具体的值MD5是一样的
- md5破解网站的原理是,背后有一个字典:对应加密前后的两个值
-- 创建test表单,注意pwd要设长一些(md5加密后pwd很长)
CREATE TABLE `testmd5`(
`id` INT(4) NOT NULL,
`name` VARCHAR(20) NOT NULL,
`pwd` VARCHAR(20) NOT NULL,
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
-- 插入数据
INSERT INTO testmd5
VALUES(1,'zhangsan',123),
(2,'lisi',1234),
(3,'wangwu',12345);
-- 用update进行md5加密
UPDATE `testmd5`
SET `pwd`=MD5(`pwd`);
-- 直接在插入时md5加密
INSERT INTO testmd5
VALUES(4,'lisi',MD5('12345'));
-- 校验