Mysql基础函数,其他常用的函数
1、条件判断函数
IF(expr,v1,v2):条件判断函数,如果expr表达式值为TRUE,返回值为v1,否则返回值为v2。
示例
SELECT IF(1>2,3,4),IF(1<2,'yes','no');

2、判断是否为空函数
IFNULL(v1,v2):判断是否为空函数,如果v1不为空则返回v1,否则返回v2
示例
SELECT IFNULL(3,4),IFNULL(NULL,'no');

3、流程控制函数
CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] ... [ELSE rn] END=v1 时 返回r2
当expr=v1 时 返回r1,expr2=v2时 返回r2...都不等的时候,返回rn;
示例
SELECT CASE MONTH(NOW()) WHEN 1 THEN '1月份' WHEN 2 THEN '2月份' WHEN 3 THEN '3月份' ELSE '没有找到相应的月份' END;

1、VERSION():返回MySQL系统版本号
示例
SELECT VERSION();

2、CONNECTION_ID():返回MySQL服务器当前连接数
示例
SELECT CONNECTION_ID();

3、SHOW (FULL) PROCESSLIST:显示系统有哪些线程正在运行,ROOT用户的话,可写可不写,其余用户的话,用FULL才能显示所有的信息,否则只显示前100条
示例
SHOW PROCESSLIST

4、DATABASE(),SCHEMA():获取当前数据库名称函数
示例
SELECT DATABASE(),SCHEMA();

5、USER(),CURRENT_USER(),SYSTEM_USER(),SESSION_USER():返回当前链接的用户名和主机的组合
示例
SELECT USER(),CURRENT_USER(),SYSTEM_USER(),SESSION_USER();

6、CHARSET(str):获取str字符串所属于的字符集
示例
SELECT CHARSET(NOW()),CHARSET('abc');

7、COLLATION(str):获取str字符串的排列方式
示例
SELECT COLLATION(NOW()),COLLATION('abc');

1、PASSWOFRD(str):加密函数之一,加密不可逆
MD5(str): 加密函数之一,加密不可逆
ENCODE(str,pwd_str):pwd_str为加密盐,加密函数之一,可逆,可用DECODE(str,pwd_str)解密
DECODE(str,pwd_str):pwd_str为加密盐,解密函数,用于解密ENCODE加密的密码
示例
SELECT PASSWORD('123456'),MD5('123456'),ENCODE('123456','123'),DECODE(ENCODE('123456','123'),'123');

1、进制转换函数
CONV(n,from,to):进制转换函数,把数字n从from进制转化到to进制
示例
SELECT CONV(15,16,2);

2、IP与数字相互转换函数
INET_ATON(ip):IP转换为数字
INET_NTOA(n):数字转换为IP
示例
SELECT INET_ATON('27.46.5.61'),INET_NTOA('456000829');

3、加锁函数和解锁函数
GET_LOCK(str,timeout):锁定字符串str,持续timeout秒
RELEASE_LOCK(str):解锁字符串
IS_FREE_LOCK(str):检测字符串是否未被封锁
IS_USED_LOCK(str):检测字符串是否被封锁,返回当前的连接的ID
示例
SELECT GET_LOCK('test',10000),IS_USED_LOCK('test'),IS_FREE_LOCK('test'),RELEASE_LOCK('test');
