mysql处理字符串的两个绝招:substring_index,concat
1、substring_index(str,delim,count)
str:要处理的字符串
delim:分隔符
count:计数
例子:str='www.google.com'
substring_index(str,'.',1)
结果是:www
substring_index(str,'.',2)
结果是:www.google
也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:
substring_index(str,'.',-2)
结果为:google.com
有人会问,如果我要中间的的google怎么办?
很简单的,两个方向:
1、从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:
substring_index(substring_index(str,'.',-2),‘.’,1);
2、
concat是连接几个字符串,可以多个哦
concat('wo','lin','xue','bin')
结果就是wolinxuebin
Mysql查看连接数、状态
show processlist
如果是root帐号,你能看到所有用户的当前连接,如果是其它普通帐号,只能看到自己占用的连接
show processlist只能列出前100条;如果想全列出请使用show full processlist
show status like ‘%变量%’
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量
Aborted_connects 尝试已经失败的连接MYSQL服务器的次数
Connections 试图连接MYSQL服务器的次数
Flush_commands 执行FLUSH命令的次数
Max_used_connections 同时使用的连接的最大数目
Threads_connected 当前打开的连接的数量
Threads_running 不在睡眠的线程数量
Uptime 服务器工作时间
要统计数据库的连接数,我们通常情况下是统计总数,没有细分到每个IP上。现在要监控每个IP的连接数,实现方式如下:
select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;
set-variable=
max_user_connections=30 这个就是单用户的连接数
set-variable=
max_connections=800 这个是全局的限制连接数
如果进程过多,就把进程打印下来,然后查看
mysql -h 127.0.0.1 -P 24806 -uroot -e 'show full processlist;'> myLog.log
将进程信息输出到myLog.log文件中
mysql处理字符串的两个绝招:substring_index,concat
猜你喜欢
转载自rd-030.iteye.com/blog/2351392
今日推荐
周排行