在 MySQL 中,有个information_schema数据库,里面有个tables表,记录了整个数据库中表的信息,其中有个叫data_length的列,记录了该表占用的空间大小(单位Byte),table_name记录了该表的名称,table_schema记录了该表所属的数据库名。我们可以查询这个tables表来获取我们要的信息:

  1. 查看 “test” 数据库占用空间的大小

    use information_schema;
    select
     concat(
         round(
             sum( data_length/1024/1024 ),
             2),
         "MB"
         )
    from tables where table_schema='test';
    
  2. 查看 “test” 数据库里面,”tbl_user” 表占用空间的大小

    use information_schema;
    select
     concat(
         round(
             sum( data_length/1024/1024 ),
             2),
         "MB"
         )
    from tables 
    where
     table_schema='test' and
     table_name='tbl_user';