本文最后更新于: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加密后,再去对比加密后的密文是否相同即可