MySql笔记

mysql数据库连接数的获取

安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库。 information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。
在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
在information_schema模式下,5.5以后增加了processlist表,里面存储了当前连接信息。

SELECT count(*) FROM information_schema.PROCESSLIST

就可以获取到实时的数据库连接数了。

有关information_schema【转】

http://www.cnblogs.com/iiiiher/p/5853133.html

1.查看数据库大小

use 数据库名

SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TABLE_SCHEMA='数据库名';  

得到的结果是以字节为单位,除1024为K,除1048576为M。

2.查看表的最后mysql修改时间

select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='数据库名';

可以通过查看数据库中表的mysql修改时间,来确定mysql数据库是否已经长期不再使用。

3.查看数据库中各个表占用的空间大小

如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小

其他字段请参考MySQL的手册,我们只需要了解这几个就足够了。
所以要知道一个表占用空间的大小,那就相当于是 [数据大小 + 索引大小]即可。

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名'

4.查看表的最后mysql修改时间

select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='数据库名';

可以通过查看数据库中表的mysql修改时间,来确定mysql数据库是否已经长期不再使用。

mysql字符串截取和拼接【转载】

[http://www.educity.cn/wenda/401026.html]
1、substring_index(str,delim,count)
  ** str:要处理的字符串**
  ** delim:分隔符**
  ** count:计数**
  例子:str=
  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、你懂得!
  2,concat是连接几个字符串,可以多个哦。
  concat('wo','lin','xue','bin')
  结果就是wolinxuebin。

你可能感兴趣的:(MySql笔记)