查询需要在information_schema数据库里查询,这个数据库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等

    select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data 
    from information_schema.TABLES  
    where table_schema='数据库名' and table_name='表名';
    select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data 
    from information_schema.TABLES  
    where table_schema='whmall' and table_name='c_prod_names';

查看指定数据库 表的索引存储大小

    select concat(round(sum(index_length/1024/1024),2),'MB') as data 
    from information_schema.TABLES  
    where table_schema='whmall' and table_name='c_prod_names';

查看指定数据库容量大小

    select     
    table_schema as '数据库',
    sum(table_rows) as '记录数',
    sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
    sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'
    from information_schema.tables
    where table_schema='whmall';

查看指定数据库各表容量大小

    select     
    table_schema as '数据库',
    table_name as '表名',
    table_rows as '记录数',
    truncate(data_length/1024/1024, 2) as '数据容量(MB)',
    truncate(index_length/1024/1024, 2) as '索引容量(MB)'
    from information_schema.tables
    where table_schema='whmall'
    order by data_length desc, index_length desc;

查看所有数据库容量大小

    select     
    table_schema as '数据库',
    sum(table_rows) as '记录数',
    sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
    sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'
    from information_schema.tables
    group by table_schema
    order by sum(data_length) desc, sum(index_length) desc;

查看所有数据库各表容量大小

    select     
    table_schema as '数据库',
    table_name as '表名',
    table_rows as '记录数',
    truncate(data_length/1024/1024, 2) as '数据容量(MB)',
    truncate(index_length/1024/1024, 2) as '索引容量(MB)'
    from information_schema.tables
    order by data_length desc, index_length desc;