MySQL中系統信息函數有哪些-創新互聯

小編給大家分享一下MySQL中系統信息函數有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創新互聯建站是一家專業提供射陽企業網站建設,專注與成都網站設計、網站制作、外貿營銷網站建設、H5技術、小程序制作等業務。10年已為射陽眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。

系統信息函數

(1)獲取MySQL版本號、連接數和數據庫名的函數
(2)獲取用戶名的函數
(3)獲取字符串的字符集和排序方式的函數
(4)獲取最后一個自動生成的ID值的函數

(相關免費學習推薦:mysql視頻教程)

(1)、獲取MySQL版本號、連接數和數據庫名的函數

1.version()

  • version()返回指示MySQL服務器版本的字符串,這個字符串使用utf8字符集。

【例】查看當前MySQL版本號,SQL語句如下:

mysql> select version();+-----------+| version() |+-----------+| 8.0.16    |+-----------+1 row in set (0.05 sec)

2.connection_id()

  • connection_id()返回MySQL服務器當前連接的次數,每個連接都有各自的ID。

【例】查看當前用戶的連接數,SQL語句如下:

mysql> select connection_id();+-----------------+| connection_id() |+-----------------+|              18 |+-----------------+1 row in set (0.05 sec)

3.show processlist 和 show full processlist

  • processlist 命令的輸出結果顯示有哪些線程在運行,不僅可以查看當前所有的連接數,還可以查看當前的連接狀態,幫助識別出有問題的查詢語句等。

  • 如果是root賬號,就能看到所有用戶的當前連接,如果是其他普通賬號,則只能看到自己占用的連接。show processlist只列出 前100條,如果想全部列出可使用show full processlist命令。

【例】使用showprocesslist命令輸出當前用戶的連接信息,SQL語句如下:

mysql> show processlist;+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+| Id | User            | Host            | db      | Command | Time   | State                  | Info             |+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+|  4 | event_scheduler | localhost       | NULL    | Daemon  | 381487 | Waiting on empty queue | NULL             || 18 | root            | localhost:60272 | company | Query   |      0 | starting               | show processlist |+----+-----------------+-----------------+---------+---------+--------+------------------------+------------------+2 rows in set (0.05 sec)

各個列的含義:

含義
id列用戶登錄MySQL時,系統分配的"connection id"
User顯示當前用戶,如果不是root,就顯示用戶權限范圍內的MySQL語句
Host顯示這個語句是從哪個IP的哪個端口上發出的,可以用來追蹤出現問題語句的用戶
db顯示這個進程目前連接的是哪個數據庫
Command顯示當前連接的執行命令,一般取值為休眠(sleep)、查詢(Query)、連接(Connect)
Time顯示這個狀態持續的時間,單位是秒
State顯示使用當前連接的SQL語句的狀態,State只是語句執行中的某一個狀態
Info顯示這個SQL語句,是判斷問題語句的一個重要語句

4.database() 和 schema()
【例】查看當前使用的數據庫,SQL語句如下:

mysql> select database(),schema();+------------+----------+| database() | schema() |+------------+----------+| company    | company  |+------------+----------+1 row in set (0.00 sec)

(2)、獲取用戶名的函數
  • user()、current_user()、system_user()和session_user()這幾個函數返回當前被MySQL服務器驗證的用戶名和主機名組合。這個值符合確定當前登錄用戶存取權限的MySQL賬戶。

【例】獲取當前登錄用戶名稱,SQL語句如下:

  • 返回結果值顯示了當前賬戶連接服務器時的用戶名及所連接的客戶主機,root為當前登錄的用戶名,localhost為登錄的主機名。

mysql> select user(),current_user,system_user();+----------------+----------------+----------------+| user()         | current_user   | system_user()  |+----------------+----------------+----------------+| root@localhost | root@localhost | root@localhost |+----------------+----------------+----------------+1 row in set (0.05 sec)

(3)、獲取字符串的字符集和排序方式的函數

1.charset(str)

【例】使用charset()函數返回字符串使用的字符集,SQL語句如下:

mysql> select charset('abc'),
    -> charset(convert('abc' USING latin1 ) ),
    -> charset(version());+----------------+----------------------------------------+--------------------+| charset('abc') | charset(convert('abc' USING latin1 ) ) | charset(version()) |+----------------+----------------------------------------+--------------------+| gbk            | latin1                                 | utf8               |+----------------+----------------------------------------+--------------------+1 row in set (0.00 sec)

2.collation(str)

【例】使用collation()函數返回字符串排列方式,SQL語句如下:

mysql> select collation('abc'),collation(convert('abc' USING utf8 ));+------------------+---------------------------------------+| collation('abc') | collation(convert('abc' USING utf8 )) |+------------------+---------------------------------------+| gbk_chinese_ci   | utf8_general_ci                       |+------------------+---------------------------------------+1 row in set, 1 warning (0.05 sec)

(4)、獲取最后一個自動生成的ID值的函數

【例】使用select last_insetr_id查看最后一個自動生成的列值,執行過程如下:

①一次插入一條記錄
首先創建表worker,其id字段帶有auto_increment約束,SQL語句如下:

mysql> create table worker    -> (
    -> id int auto_increment not null primary key,
    -> Name varchar(30)
    -> );Query OK, 0 rows affected (0.21 sec)

分別單獨向表worker中插入兩條記錄:

mysql> insert into worker values(null,'jimy');Query OK, 1 row affected (0.07 sec)mysql> insert into worker values(null,'Tom');Query OK, 1 row affected (0.05 sec)mysql> select * from worker;+----+------+| id | Name |+----+------+|  1 | jimy ||  2 | Tom  |+----+------+2 rows in set (0.00 sec)

查看已經插入的數據,發現最后一條插入的記錄的id字段值為2,使用last_insert_id()查看最后自動生成的id值:

mysql> select last_insert_id();+------------------+| last_insert_id() |+------------------+|                2 |+------------------+1 row in set (0.05 sec)

可以看到,一次插入一條記錄時,返回值為最后一條插入記錄的id值。

②一次同時插入多條記錄
向表中插入多條記錄:

mysql> insert into worker values
    -> (null,'Kevin'),
    -> (null,'Michal'),
    -> (null,'NICK');Query OK, 3 rows affected (0.05 sec)Records: 3  Duplicates: 0  Warnings: 0mysql> SELECT * FROM WORKER;+----+--------+| id | Name   |+----+--------+|  1 | jimy   ||  2 | Tom    ||  3 | Kevin  ||  4 | Michal ||  5 | NICK   |+----+--------+5 rows in set (0.00 sec)

使用last_insert_id查看最后自動生成的id值:

mysql> SELECT LAST_INSERT_ID();+------------------+| LAST_INSERT_ID() |+------------------+|                3 |+------------------+1 row in set (0.00 sec)

使用一條insert語句插入多個行時,last_insert_id()只返回插入的第一行數據時產生的值,在這里為插入第3條記錄。之所以這樣是因為這使依靠其他服務器復制同樣的insert語句變得簡單。

提示:

  • last_insert_id是與table無關的,先向表a插入數據,再向表b插入數據,last_insert_id返回表b中的id值。

看完了這篇文章,相信你對“MySQL中系統信息函數有哪些”有了一定的了解,如果想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!

網站標題:MySQL中系統信息函數有哪些-創新互聯
URL網址:http://m.kartarina.com/article0/ccgooo.html

成都網站建設公司_創新互聯,為您提供網站設計、手機網站建設、品牌網站建設、網站收錄、品牌網站制作、虛擬主機

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發
主站蜘蛛池模板: 亚洲αⅴ无码乱码在线观看性色| 国产精品无码成人午夜电影| 久久国产亚洲精品无码| 亚洲中文字幕久久精品无码A| 日本无码一区二区三区白峰美 | 无码av无码天堂资源网| 无码的免费不卡毛片视频| 无码人妻精品中文字幕| 国产精品99无码一区二区| 午夜无码国产理论在线| 亚洲?V无码乱码国产精品| 熟妇无码乱子成人精品| 免费A级毛片无码久久版| 少妇无码一区二区三区免费| 国产av无码久久精品| 久久精品中文无码资源站| 中文无码久久精品| 亚洲av无码成人精品国产| 无码人妻精品一区二区三区99仓本 | 无码精品黑人一区二区三区 | 无码精品一区二区三区| 午夜福利无码不卡在线观看 | 性无码免费一区二区三区在线 | 在线无码视频观看草草视频| 亚洲日韩av无码中文| 18禁无遮挡无码国产免费网站| 国产成人AV一区二区三区无码| 午夜无码中文字幕在线播放| 激情无码人妻又粗又大中国人| 在线看片无码永久免费视频| 少妇无码AV无码专区在线观看| 午夜福利av无码一区二区| 亚洲AV无码日韩AV无码导航| 免费无遮挡无码视频在线观看| 五月婷婷无码观看| 天码av无码一区二区三区四区| 无码国产69精品久久久久孕妇| 无码人妻精品一区二区三区9厂| 性无码专区一色吊丝中文字幕| MM1313亚洲精品无码久久| 亚洲av无码专区青青草原|