MySQL-函数(2)
五、系统信息函数
获取 MySQL 版本号的函数
VERSION()
VERSION() 用于获取 MySQL 版本号
mysql> SELECT VERSION();
+------------+
| VERSION() |
+------------+
| 5.7.18-log |
+------------+
查看当前用户的连接数的ID函数
CONNECTION_ID()
CONNECTION_ID() 用于查看当前用户的连接数
mysql> SELECT CONNECTION_ID();
+-----------------+
| CONNECTION_ID() |
+-----------------+
| 6 |
+-----------------+
1 row in set (0.00 sec)
mysql> SHOW PROCESSLIST; #查看用户连接信息
+----+------+-----------+------+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+----------+------------------+
| 6 | root | localhost | NULL | Query | 0 | starting | SHOW PROCESSLIST |
| 7 | root | localhost | bbs | Sleep | 3 | | NULL |
+----+------+-----------+------+---------+------+----------+------------------+
2 rows in set (0.00 sec)
Id :用户登录 MySQL 时,系统分配的连接 id
User :当前连接的用户
Host :显示这个语句是从哪个 IP 的哪个端口上发出的,可以用来追踪出现问题语句的用户
db :显示这个进程目前连接的是哪个数据库
Command :显示当前连接执行的命令,一般取值为休眠(Sleep)、查询(Query)、连接(Connect)
Time :显示这个状态持续的时间,单位是秒
State :显示使用当前连接的 SQL 语句的状态
Info :显示这个 SQL 语句
查看当前使用的数据库的函数
DATABASE() 、SCHEMA()
DATABASE() 用于查看当前使用的数据库
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| test_db |
+------------+
SCHEMA() 用于查看当前使用的数据库
mysql> SELECT SCHEMA();
+----------+
| SCHEMA() |
+----------+
| test_db |
+----------+
查看当前登录的用户名的函数
USER() 、CURRENT_USER() 、SYSTEM_USER()
USER() 返回当前登录的用户及主机名
mysql> SELECT USER();
+----------------+
| USER() |
+----------------+
| root@localhost |
+----------------+
CURRENT_USER() 于返回当前登录的用户及主机名
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
SYSTEM_USER() 用于返回当前登录的用户及主机名
mysql> SELECT SYSTEM_USER();
+----------------+
| SYSTEM_USER() |
+----------------+
| root@localhost |
+----------------+
查看指定字符串的字符集的函数
CHARSET(str)
CHARSET(str) 用于查看字符串 str 的字符集
mysql> SELECT CHARSET('abc');
+----------------+
| CHARSET('abc') |
+----------------+
| utf8 |
+----------------+
查看指定字符串的排列方式的函数
COLLATION(str)
COLLATION(str) 用于查看字符串 str 的字符排列方式
mysql> SELECT COLLATION('abc');
+------------------+
| COLLATION('abc') |
+------------------+
| utf8_general_ci |
+------------------+
获取最后一个自动生成的 ID 值得函数
LAST_INSERT_ID()
LAST_INSERT_ID() 用于获取最后一个自动生成的ID 值
mysql> CREATE TABLE worker
-> (
-> id INT AUTO_INCREMENT PRIMARY KEY, # 先创建一个表,其id字段带有AUTO_INCREMENT约束
-> name VARCHAR(30)
-> );
mysql> INSERT INTO worker VALUES (NULL,'jimy'); # 插入一条数据,这时id没有指定,则自动生成,id为1
mysql> INSERT INTO worker VALUES (NULL,'Tom'); # 插入一条数据,这时id没有指定,则自动生成,id为2
mysql> SELECT * FROM worker; # 查看表的信息
+----+------+
| id | name |
+----+------+
| 1 | jimy |
| 2 | Tom |
+----+------+
mysql> SELECT LAST_INSERT_ID(); # 查看最后一个自动生成的id值
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 2 |
+------------------+
mysql> INSERT INTO worker VALUES (NULL,'Kenvin'), (NULL,'Michal'), (NULL,'Nick');
mysql> SELECT * FROM worker; # 如果我们一次性插入多条数据,虽然id到了5
+----+--------+
| id | name | # 但我们用LAST_INSERT_ID()查看时却为3
+----+--------+
| 1 | jimy | # 这是因为LAST_INSERT_ID()只返回插入的第一行数据时产生值
| 2 | Tom |
| 3 | Kenvin |
| 4 | Michal |
| 5 | Nick |
+----+--------+
mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 3 |
+------------------+
加**/**解密函数
加密函数
PASSWORD(str) 、MD5(str) 、ENCODE(str, pswd_str)
PASSWORD(str) 从明文密码 str 计算并返回加密后的密码字符串,当参数为 NULL 时,返回 NULL
mysql> SELECT PASSWORD('newpwd');
+-------------------------------------------+
| PASSWORD('newpwd') |
+-------------------------------------------+
| *1FA85AA204CC12B39B20E8F1E839D11B3F9E6AA4 |
+-------------------------------------------+
MD5(str) 为字符串 str 算出一个 MD5 128 比特校验和
mysql> SELECT MD5('newpwd');
+----------------------------------+
| MD5('newpwd') |
+----------------------------------+
| a5e3094ce553e08de5ba237525b106d5 |
+----------------------------------+
ENCODE(str, pswd_str) 使用 pswd_str 作为密码,加密 str
mysql> SELECT ENCODE('secret', 'newpwd');
+----------------------------+
| ENCODE('secret', 'newpwd') |
+----------------------------+
| ü EE |
+----------------------------+
解密函数
DECODE(crypt_str, pswd_str) DECODE(crypt_str, pswd_str) 使用 pswd_str 作为密码,解密加密字符串 crypt_str
mysql> SELECT DECODE(ENCODE('secret','cry'), 'cry');
+---------------------------------------+
| DECODE(ENCODE('secret','cry'), 'cry') |
+---------------------------------------+
| secret |
+---------------------------------------+
- 点赞
- 收藏
- 关注作者
评论(0)