首頁 >資料庫 >mysql教程 >推薦MySQL常用函數+福利

推薦MySQL常用函數+福利

黄舟
黄舟原創
2017-02-07 11:54:131531瀏覽

關於MySQL函數一直想寫點東西,讓學生能快速的上手。 MySQL內建函數比較多, 讓新學習MySQL的同學,一看就嚇的不知道怎麼開始了,當然也有很多同學非常利害的,一點一點,象背單字那樣把整個函數列表背下來了(但過段有可能也忘了),也表示佩服。這裡我給那些記憶不好的同學,推薦五個使用頻率特高別的函數,結合案例看一下。最後奉上知數堂學生: Wing 整理的《知數堂-MySQL內建函數手冊》 PDF版本。


開始進入正題:


第一個: substring_index()

用於傳回指定字元間隔後的N個例,指定數的字符,官方


來一個實際案例,有可能會記的更清楚一點, 例在MySQL統計一下,都有那些IP連到MySQL內部,及每個IP有多個連接

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
            -> 'www.mysql'
    mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
            -> 'mysql.com'

第二個: concat()

字元拼接函數,看案例:

select count(*) , substring_index(host,':',1) as ip , db from information_schema.processlist group by substring_index(host,':',1) ,db;

來看實際案例:把MySQL內部的連接全幹掉,讓他連接一下DB

mysql> select concat('zhishuedu.','com');
-> 'zhishuedu.com'


rep


用於產生指定字段串的長度,在做壓力測試,生成數據中特別有用,直接看案例

>select concat('kill ', id,';')  into outfile '/tmp/kthd.sql'  from information_schema.processlist  where user!='system';
>source /tmp/kthd.sql;

第四個: now()


返回當前的時間,直接敲一下:

select now()

欄位寫入時間,比較有用。 因為簡單,就不在運行這塊對應的函數: from_unixtime(), unix_timestamp() 也要關註一下

第五個: length()

返回字串長度,看案例, 對於有時統計一下欄位長度,做一些分析還是挺有幫助

root@localhost [(none)]>select repeat('zhishuedu.com ', 3);
+--------------------------------------------+
| repeat('zhishuedu.com ', 3)                   |
+--------------------------------------------+
| zhishuedu.com zhishuedu.com zhishuedu.com |
+--------------------------------------------+
1 row in set (0.00 sec)


    這塊內容還是比較多的,但還是要收尾的,如果閉著眼睛把以前敲過的函數在寫一下,還有:

select length('wubx'), char_length('wubx'), length('知数堂'),char_length('知数堂')\G;
*************************** 1. row ***************************
length('wubx'): 4
char_length('wubx'): 4
length('知数堂'): 9
char_length('知数堂'): 3
1 row in set (0.00 sec)

等著等。


大家有興趣也可以下載一下我們提供的手冊來閱讀一下,當然這份手冊,也是一個初版,還有待完善的地方,本著從0到1的原則,先放出來了。如果你想完善這個,或有更新,聯絡我。

以上就是推薦MySQL常用函數+福利的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn