重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关MySQL中的系统信息函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新新互联,凭借十年的成都做网站、成都网站建设经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有超过千家案例。做网站建设,选成都创新互联公司。
系统信息函数
MySQL中的系统信息有:数据库的版本号、当前用户名和连接数、系统字符集、最后一个自动生成的ID值等。
1.获取MySQL版本号、连接数和数据库名的函数。
a.version()返回指示MySQL服务器版本的字符串。这个字符串使用utf8字符集。
案例:查看当前MySQL版本号,SQL语句如下:
SELECT VERSION();
b.connection_id()返回MySQL服务器当前连接的次数,每个连接都有各自唯一的ID。
案例:查看当前用户的连接数,SQL语句如下:
SELECT CONNECTION_ID();
c.processlist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态,帮助识别出有问题的查询语句等。如果是root账号,能看到所有用户的当前连接。如果是普通账号,则只能看到自己占用的连接。show processlist;只列出前100条,如果想全部列出可使用show full processlist;命令。
案例:使用show processlist命令输出当前用户的连接信息,SQL语句如下:
SHOW PROCESSLIST;
d.datebase()和schema()函数返回使用utf8字符集的默认(当前)数据库名。
案例:查看当前使用的数据库,SQL语句如下:
SELECT DATABASE(), SCHEMA();
mysql系统信息函数有:
一、查看当前MySQL版本号
mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.7.22 | +-----------+ 1 row in set (0.00 sec)
二、查看当前用户的连接数
mysql> SELECT CONNECTION_ID(); +-----------------+ | CONNECTION_ID() | +-----------------+ | 2 | +-----------------+ 1 row in set (0.00 sec)
三、使用SHOW PROCESSLIST
命令输出当前用户的连接信息
mysql> SHOW PROCESSLIST; +----+------+------+------+---------+------+----------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+------+------+---------+------+----------+------------------+ | 2 | root | | test | Query | 0 | starting | SHOW PROCESSLIST | +----+------+------+------+---------+------+----------+------------------+ 1 row in set (0.00 sec)
四、查看当前使用的数据库
mysql> SELECT DATABASE(),SCHEMA(); +------------+----------+ | DATABASE() | SCHEMA() | +------------+----------+ | test | test | +------------+----------+ 1 row in set (0.00 sec)
五、获取当前登录用户名称
mysql> SELECT USER(), CURRENT_USER(), SYSTEM_USER(); +--------+-----------------------------------+---------------+ | USER() | CURRENT_USER() | SYSTEM_USER() | +--------+-----------------------------------+---------------+ | root@ | skip-grants user@skip-grants host | root@ | +--------+-----------------------------------+---------------+ 1 row in set (0.00 sec)
六、 使用CHARSET()
函数返回字符串使用的字符集
SELECT CHARSET('abc'), CHARSET(CONVERT('abc' USING latin1)), CHARSET(VERSION()); +----------------+--------------------------------------+--------------------+ | CHARSET('abc') | CHARSET(CONVERT('abc' USING latin1)) | CHARSET(VERSION()) | +----------------+--------------------------------------+--------------------+ | utf8 | latin1 | utf8 | +----------------+--------------------------------------+--------------------+ 1 row in set (0.00 sec)
七、使用COLLATION()
函数返回字符串排列方式
mysql> SELECT COLLATION('abc'),COLLATION(CONVERT('abc' USING utf8)); +------------------+--------------------------------------+ | COLLATION('abc') | COLLATION(CONVERT('abc' USING utf8)) | +------------------+--------------------------------------+ | utf8_general_ci | utf8_general_ci | +------------------+--------------------------------------+ 1 row in set (0.00 sec)
八、使用SELECT LAST_INSERT_ID
查看最后一个自动生成的列值
1、一次插入一条记录
(1)、首先创建表worker,其Id字段带有AUTO_INCREMENT
约束
CREATE TABLE worker (Id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, Name VARCHAR(30)); Query OK, 0 rows affected (0.23 sec)
(2)、分别单独向表worker中插入2条记录:
mysql> INSERT INTO worker VALUES(NULL, 'jimy'); Query OK, 1 row affected (0.03 sec) mysql> INSERT INTO worker VALUES(NULL, 'Tom'); Query OK, 1 row affected (0.02 sec) mysql> SELECT * FROM worker; +----+------+ | Id | Name | +----+------+ | 1 | jimy | | 2 | Tom | +----+------+ 2 rows in set (0.00 sec)
(3)、查看已经插入的数据可以发现,最后一条插入的记录的Id字段值为2,使用LAST_INSERT_ID()
查看最后自动生成的Id值:
mysql> SELECT LAST_INSERT_ID(); +------------------+ | LAST_INSERT_ID() | +------------------+ | 2 | +------------------+ 1 row in set (0.01 sec)
2、一次同时插入多条记录
(1)、接下来,向表中插入多条记录
INSERT INTO worker VALUES (NULL, 'Kevin'),(NULL,'Michal'),(NULL,'Nick'); Query OK, 3 rows affected (0.03 sec) Records: 3 Duplicates: 0 Warnings: 0
(2)、查询已经插入的的记录,
mysql> SELECT * FROM worker; +----+--------+ | Id | Name | +----+--------+ | 1 | jimy | | 2 | Tom | | 3 | Kevin | | 4 | Michal | | 5 | Nick | +----+--------+ 5 rows in set (0.00 sec) mysql> SELECT LAST_INSERT_ID(); +------------------+ | LAST_INSERT_ID() | +------------------+ | 3 | +------------------+ 1 row in set (0.00 sec)
关于mysql中的系统信息函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。