本文最后更新于:2021年10月1日 晚上
MySQL函数
常用函数
以下示例中具体数字都可以用字段表示
数学运算
1 2 3 4 5
| select abs(-8) select ceiling(8.3) select floor(8.3) select rand() select sing(-10)
|
字符串操作
1 2 3 4 5 6 7 8 9
| select char_length('xxxx') select concat('姓名',name) select insert('my name',1,1,'your') select lower('Name') select upper('Name') select instr('MySQL','SQL') select replace('MySQL learn','learn','study') select substr('MySQL learn',4,6) select reverse('MySQL learn')
|
-
instr不区分大小写
mysql 进行模糊查询时,可使用内部函数 instr,替代传统的 like 方式,并且速度更快。
select * from book where instr(bookName,'经')>0
时间和日期函数
1 2 3 4 5 6
| select current_date() select now() select localtime() select sysdate()
select year/month/day/hour/minute/second(now())
|
系统函数
1 2
| select user() select version()
|
聚合函数
| 函数名称 |
作用 |
| count() |
|
| sum() |
|
| avg() |
|
| max() |
|
| min() |
|
Q: count(*)、count(字段名)、count(1)区别?
A: count(字段名)会忽略对应字段的空值,其余两个不会忽略
count(字段名)效率更快
数据库级别的MD5(扩展)
MD5: 信息摘要算法,主要增强算法复杂度和不可逆
具体值的md5是一样的
函数md5(未加密数据)
1 2 3
| update testmd5 set pwd=md5(pwd) where id = 1; insert into testmd5 values(5,md5('12345'))
|
Q: 如何校验用户输入的密码是否正确?
A: 将用户的密码先用md5加密后,再去对比加密后的密文是否相同即可