#条件判断函数 1.IF (1)格式:IF(expr,v1,v2) 作用:expr==TRUE,返回v1,否则返回v2,如果V1或V2只有一个明确是NULL,则IF()函数的结果类型为非NULL表达式的结果类型 eg. mysql> select if(1>2,2,3), if(1<2,'yes','no'), if(strcmp('test','test1'),'no','yes'); +-------------+--------------------+---------------------------------------+ | if(1>2,2,3) | if(1<2,'yes','no') | if(strcmp('test','test1'),'no','yes') | +-------------+--------------------+---------------------------------------+ | 3 | yes | no | +-------------+--------------------+---------------------------------------+ (2)格式:IFNULL(v1,v2) 作用:假如v1不为NULL,则返回值为v1,否则其返回值为v2 eg. mysql> select ifnull(1,2), ifnull(null,10), ifnull(1/0,'error'); +-------------+-----------------+---------------------+ | ifnull(1,2) | ifnull(null,10) | ifnull(1/0,'error') | +-------------+-----------------+---------------------+ | 1 | 10 | error | +-------------+-----------------+---------------------+ 2.case函数 (3)格式:CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END 作用:如果expr等于某个WHEN之后vn,则返回对应THEN后面的结果,如果所有值不相等,返回else后面的rn eg. mysql> select CASE 2 WHEN 1 THEN 'ONE' when 2 then 'two' else 'more' end; +------------------------------------------------------------+ | CASE 2 WHEN 1 THEN 'ONE' when 2 then 'two' else 'more' end | +------------------------------------------------------------+ | two | +------------------------------------------------------------+ #系统信息函数 1.获取系统信息 (1)格式:VERSION() 作用:获取版本号 eg. mysql> select version(); +-------------------------+ | version() | +-------------------------+ | 5.7.21-0ubuntu0.16.04.1 | +-------------------------+ (2)格式:connection_id() 作用:返回服务器当前连接次数,每次连接有各自唯一的ID eg. mysql> select connection_id(); +-----------------+ | connection_id() | +-----------------+ | 3 | +-----------------+ (3)格式:show processlist(只列出前100条),show full processlist(列出全部) 作用:显示哪些线程在运行,可查看当前连接数和连接状态,root用户可以查看当前所有用户连接,普通账户只看自己的连接 id:用户登录mysql时,系统分配的connection id User:显示当前用户 Host:显示语句从哪个IP上发出 db:显示这个进程目前连接的是哪个数据 command:显示当前执行的命令,一般取值为休眠(sleep),查询(query),连接(connect) time:显示状态持续时间,单位s state:显示当前语句的状态 info:显示当前的mysql语句 eg.(我的是root用户) mysql> show processlist; +----+------+-----------+------+---------+------+----------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+----------+------------------+ | 3 | root | localhost | NULL | Query | 0 | starting | show processlist | +----+------+-----------+------+---------+------+----------+------------------+ mysql> show full processlist; +----+------+-----------+------+---------+------+----------+-----------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+----------+-----------------------+ | 3 | root | localhost | NULL | Query | 0 | starting | show full processlist | +----+------+-----------+------+---------+------+----------+-----------------------+ (4)格式:DATABASE()和SCHEMA() 作用:返回当前使用的数据库名 eg. mysql> select database(),schema(); +------------+----------+ | database() | schema() | +------------+----------+ | test | test | +------------+----------+ 2.获取用户名 (1)格式:USER()、CURRENT_USER()、SYSTEM_USER()和SESSION_USER() 作用:返回当前被mysql服务器验证的用户名和主机名,root为当前登录的用户名,localhost为登录的主机名 eg. mysql> select user(),current_user(),system_user(),session_user(); +----------------+----------------+----------------+----------------+ | user() | current_user() | system_user() | session_user() | +----------------+----------------+----------------+----------------+ | root@localhost | root@localhost | root@localhost | root@localhost | +----------------+----------------+----------------+----------------+ 3.获取字符串的字符集和排序方式 格式:charset(str) 作用:返回字符串str自变量的字符集 格式:collation(str) 作用:返回字符串str的字符排列方式 4.获取最后一个自动生成的ID值 格式:LAST_INSERT_ID() 作用:自动返回最后一个insert或update为auto_increment列设置的第一个发生的值
Mysql数据库函数(四)条件判断和系统信息函数
猜你喜欢
转载自blog.csdn.net/poetry_and_distance/article/details/79792536
今日推荐
周排行