這篇文章將為大家詳細(xì)講解有關(guān)MySQL中的系統(tǒng)信息函數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新新互聯(lián),憑借十年的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),本著真心·誠(chéng)心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有超過(guò)千家案例。做網(wǎng)站建設(shè),選成都創(chuàng)新互聯(lián)公司。
系統(tǒng)信息函數(shù)
MySQL中的系統(tǒng)信息有:數(shù)據(jù)庫(kù)的版本號(hào)、當(dāng)前用戶(hù)名和連接數(shù)、系統(tǒng)字符集、最后一個(gè)自動(dòng)生成的ID值等。
1.獲取MySQL版本號(hào)、連接數(shù)和數(shù)據(jù)庫(kù)名的函數(shù)。
a.version()返回指示MySQL服務(wù)器版本的字符串。這個(gè)字符串使用utf8字符集。
案例:查看當(dāng)前MySQL版本號(hào),SQL語(yǔ)句如下:
SELECT VERSION();
b.connection_id()返回MySQL服務(wù)器當(dāng)前連接的次數(shù),每個(gè)連接都有各自唯一的ID。
案例:查看當(dāng)前用戶(hù)的連接數(shù),SQL語(yǔ)句如下:
SELECT CONNECTION_ID();
c.processlist命令的輸出結(jié)果顯示了有哪些線(xiàn)程在運(yùn)行,不僅可以查看當(dāng)前所有的連接數(shù),還可以查看當(dāng)前的連接狀態(tài),幫助識(shí)別出有問(wèn)題的查詢(xún)語(yǔ)句等。如果是root賬號(hào),能看到所有用戶(hù)的當(dāng)前連接。如果是普通賬號(hào),則只能看到自己占用的連接。show processlist;只列出前100條,如果想全部列出可使用show full processlist;命令。
案例:使用show processlist命令輸出當(dāng)前用戶(hù)的連接信息,SQL語(yǔ)句如下:
SHOW PROCESSLIST;
d.datebase()和schema()函數(shù)返回使用utf8字符集的默認(rèn)(當(dāng)前)數(shù)據(jù)庫(kù)名。
案例:查看當(dāng)前使用的數(shù)據(jù)庫(kù),SQL語(yǔ)句如下:
SELECT DATABASE(), SCHEMA();
mysql系統(tǒng)信息函數(shù)有:
一、查看當(dāng)前MySQL版本號(hào)
mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.7.22 | +-----------+ 1 row in set (0.00 sec)
二、查看當(dāng)前用戶(hù)的連接數(shù)
mysql> SELECT CONNECTION_ID(); +-----------------+ | CONNECTION_ID() | +-----------------+ | 2 | +-----------------+ 1 row in set (0.00 sec)
三、使用SHOW PROCESSLIST
命令輸出當(dāng)前用戶(hù)的連接信息
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)
四、查看當(dāng)前使用的數(shù)據(jù)庫(kù)
mysql> SELECT DATABASE(),SCHEMA(); +------------+----------+ | DATABASE() | SCHEMA() | +------------+----------+ | test | test | +------------+----------+ 1 row in set (0.00 sec)
五、獲取當(dāng)前登錄用戶(hù)名稱(chēng)
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()
函數(shù)返回字符串使用的字符集
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()
函數(shù)返回字符串排列方式
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
查看最后一個(gè)自動(dòng)生成的列值
1、一次插入一條記錄
(1)、首先創(chuàng)建表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)、分別單獨(dú)向表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)、查看已經(jīng)插入的數(shù)據(jù)可以發(fā)現(xiàn),最后一條插入的記錄的Id字段值為2,使用LAST_INSERT_ID()
查看最后自動(dòng)生成的Id值:
mysql> SELECT LAST_INSERT_ID(); +------------------+ | LAST_INSERT_ID() | +------------------+ | 2 | +------------------+ 1 row in set (0.01 sec)
2、一次同時(shí)插入多條記錄
(1)、接下來(lái),向表中插入多條記錄
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)、查詢(xún)已經(jīng)插入的的記錄,
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)
關(guān)于mysql中的系統(tǒng)信息函數(shù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。