关于MySQL函数一直想写点东西,让学生能快速的上手。 MySQL内置函数比较多, 让新学习MySQL的同学,一看就吓的不知道怎么开始了,当然也有很多同学非常利害的,一点一点,象背单词那样把整个函数列表背下来了(但过段有可能也忘了),也 表示佩服。在这里我给那些记忆不好的同学,推荐五个使用频率特高别的函数,结合案例看一下。最后奉上知数堂学生: Wing 整理的《知数堂-MySQL内置函数手册》 PDF版本。
开始进入正题:
第一个: substring_index()
用于返回指定字符间隔后的N个字符串,指定数的字符 ,官方例:
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); -> 'www.mysql' mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2); -> 'mysql.com'
来一个实际案例,有可能会记的更清楚一点, 例在MySQL统计一下,都有那些IP连到MySQL内部,及每个IP有多个连接
select count(*) , substring_index(host,':',1) as ip , db from information_schema.processlist group by substring_index(host,':',1) ,db;
第二个: concat()
字符拼接函数,看案例:
mysql> select concat('zhishuedu.','com'); -> 'zhishuedu.com'
来看实际案例:把MySQL内部的连接全干掉,让他连接一下DB
>select concat('kill ', id,';') into outfile '/tmp/kthd.sql' from information_schema.processlist where user!='system'; >source /tmp/kthd.sql;
第三个: repeat()
用于生成指定字段串的长度,在做压力测试,生成数据中特别有用,直接看案例
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)
第四个: now()
返回当前的时间,直接敲一下:
select now()
字段写入时间,比较有用。 因为简单,就不在运行 这块相应的函数: from_unixtime(), unix_timestamp() 也要关注一下
第五个: length()
返回字符串长度,看案例, 对于有时统计一下字段长度,做一些分析还是挺有帮助
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)
这块内容还是比较多的,但还是要收尾的,如果闭着眼睛把以前敲过的函数在写一下,还有:
crc32(), floor(), ceil(), pow(), isnull(), strcmp(), ifnull(), char_length(),adddate(), date_format(), date(),year(),current_time(), user(), current_user(),password(), cast()
等等。
大家有兴趣也可以下载一下我们提供的手册来阅读一下,当然这份手册,也是一个初版,还有待完善的地方,本着从0到1的原则,先放出来了。如果你想完善这个,或是有更新,联系我。
以上就是推荐MySQL常用函数+福利的内容,更多相关内容请关注PHP中文网(www.php.cn)!