Mysql数据库函数(四)条件判断和系统信息函数

#条件判断函数
 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列设置的第一个发生的值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章