溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql中有哪些系統(tǒng)信息函數(shù)

發(fā)布時(shí)間:2020-06-29 16:54:36 來(lái)源:億速云 閱讀:399 作者:元一 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)mysql中的系統(tǒng)信息函數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

系統(tǒng)信息函數(shù)

MySQL中的系統(tǒng)信息有:數(shù)據(jù)庫(kù)的版本號(hào)、當(dāng)前用戶名和連接數(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)前用戶的連接數(shù),SQL語(yǔ)句如下:

SELECT CONNECTION_ID();

c.processlist命令的輸出結(jié)果顯示了有哪些線程在運(yùn)行,不僅可以查看當(dāng)前所有的連接數(shù),還可以查看當(dāng)前的連接狀態(tài),幫助識(shí)別出有問(wèn)題的查詢語(yǔ)句等。如果是root賬號(hào),能看到所有用戶的當(dāng)前連接。如果是普通賬號(hào),則只能看到自己占用的連接。show processlist;只列出前100條,如果想全部列出可使用show full processlist;命令。

案例:使用show processlist命令輸出當(dāng)前用戶的連接信息,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)前用戶的連接數(shù)

mysql> SELECT CONNECTION_ID();
+-----------------+
| CONNECTION_ID() |
+-----------------+
|               2 |
+-----------------+
1 row in set (0.00 sec)

三、使用SHOW PROCESSLIST命令輸出當(dāng)前用戶的連接信息

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)前登錄用戶名稱

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)、查詢已經(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ò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI