SQL查询数据库容量(统计总容量和单个数据库占用存储空间)

  • A+
所属分类:SQL
阿里云数据库优惠
2021数据库优惠

阿里云:服务器秒杀 1核2G 59元/年、2核4G服务器209元、4核8G服务器369元一年、8核16G5M...

腾讯云:服务器秒杀 1核2G 88元/年、2核4G3M三年700元、4核8G5M三年2010元...

SQL语句命令如何查询数据库容量?SQL查询数据库存储空间分为统计所有数据库总容量,和查询单个指定数据库存储大小,数据库吧分享MySQL数据库存储容量大小查询SQL语句:

SQL查询所有数据库容量大小

查询所有数据库容量大小需要对information_schema进行操作,单位转换为MB,SQL语句如下:

mysql> use information_schema;
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;

返回结果就是所有数据库的总容量大小,单位是MB。

查询指定数据库占用存储空间大小

可以查询所有数据库大小,也可以指定查询单个数据库存储空间,假设我们查询的数据库名为:shujukuba,SQL语句如下:

mysql> use information_schema;
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='shujukuba';

关于information_schema表

information_schema中的表主要有:

  • schemata表:这个表里面主要是存储在mysql中的所有的数据库的信息;
  • tables表:这个表里存储了所有数据库中的表的信息,包括每个表有多少个列等信息;
  • columns表:这个表存储了所有表中的表字段信息;
  • statistics表:存储了表中索引的信息;
  • user_privileges表:存储了用户的权限信息;
  • schema_privileges表:存储了数据库权限;
  • table_privileges表:存储了表的权限;
  • column_privileges表:存储了列的权限信息;
  • character_sets表:存储了mysql可以用的字符集的信息;
  • collations表:提供各个字符集的对照信息;
  • collation_character_set_applicability表:相当于collations表和character_sets表的前两个字段的一个对比,记录了字符集之间的对照信息;
  • table_constraints表:这个表主要是用于记录表的描述存在约束的表和约束类型;
  • key_column_usage表:记录具有约束的列;
  • routines表:记录了存储过程和函数的信息,不包含自定义的过程或函数信息;
  • views表:记录了视图信息,需要有show view权限;
  • triggers表:存储了触发器的信息,需要有super权限。

注意:购买阿里云数据库,先领取阿里云2000元代金券,符合条件的订单可以使用代金券抵扣。

免费提供技术支持: 咨询客服

阿里云代金券

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: