「15」MySQL的系統信息函數
這是我寫MySQL函數系列的第五篇文章。之前的都是基於MySQL數據庫的數據(數字、日期與時間、字符串)處理功能性函數,本篇則學習MySQL數據庫管理相關的函數。
【1】查看MySQL版本號
【結論】直接調用VERSION()函數--不需任何參數--就可以看到正在使用的MySQL版本號。【2】獲取當前登錄用戶名
【結論】有4種查看當前登錄MySQL用戶名的函數。【3】查看登錄用戶的連接次數
【結論】直接調用CONNECTION_ID()函數--不需任何參數--就可以看到當下連接MySQL服務器的連接次數,不同時間段該函數返回值可能是不一樣的【4】查看登錄用戶的連接信息
採用“SHOW PROCESSLIST”命令可以看到當前連接MySQL服務的用戶,其返回的類似一個表的查詢結果。
Id列:登錄MySQL的用戶標識,是系統自動分配的CONNECTION ID;
User列:顯示當前的“用戶名”;
Host列:顯示執行這個語句的IP,用來追蹤出現問題語句的用戶;
db列:顯示這個進程目前連接的是哪個數據庫;
Command列:顯示當前連接執行的命令,一般是休眠(Sleep)、查詢(Query)、連接(Connect);
Time列:顯示這個狀態持續的時間,單位是秒;
State列:顯示使用當前連接的SQL語句的狀態,包含有:Copying to tmptable、Sorting result、Sending data等狀態;
Info列:顯示當前SQL的內容,如果語句過長可能無法顯示完全。【5】查看當前用戶正在使用的數據庫名
【結論】使用SCHEMA()函數即可查詢當下用戶連接的數據庫名。【6】獲取字符串的字符集
【結論】使用CHARSET()函數可看到MySQL默認的是UTF-8的字符集。【7】獲取字符串的排列方式
【結論】COLLATION()函數返回值就是字符的排序方式,在我們定義MySQL表字段時,可以看到這樣的選項。
【8】獲取最後一個自動生成的ID值
用上圖的bbs_user表作爲案例,其中字段uID定義爲自增長。
在表沒有數據的情況下,看到LAST_INSERT_ID()返回值爲0。
往表中INSERT兩條數據:
再執行LAST_INSERT_ID()的返回值就是2。
總結
MySQL總共有8類系統信息函數;
其中2類需要傳遞參數,其他6類都不需要傳遞參數;
掌握好系統信息函數有助於更好地學習MySQL數據庫。