MySQL 查询数据库的数据总量

需求:查看MySQL数据库的数据总量,以MB为单位展示数据库占用的磁盘空间

实践:

  1. 登录到MySQL数据库服务器

  2. 选择你想要查看数据总量的数据库

    sql 复制代码
    USE shield;
  3. 运行查询以获取数据库的总大小

    sql 复制代码
    SELECT 
      table_schema AS 'Database',
      ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size in MB'
    FROM information_schema.TABLES 
    WHERE table_schema = 'shield'
    GROUP BY table_schema;

这个查询将返回数据库的名称和大小(以MB为单位)。这里,data_length 是表数据的大小,index_length 是索引的大小。我们将这两个值相加,然后除以1024两次(因为1MB = 1024KB,1KB = 1024字节)来转换为MB。

详细步骤解释:

  • table_schema:数据库名称。
  • data_length:表中数据的大小。
  • index_length:表索引的大小。
  • SUM(data_length + index_length):计算所有表的数据和索引总大小。
  • ROUND(..., 2):将结果四舍五入到小数点后两位。

示例:

假设你的数据库名称是 shield,运行以下查询:

sql 复制代码
SELECT 
  table_schema AS 'Database',
  ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size in MB'
FROM information_schema.TABLES 
WHERE table_schema = 'shield'
GROUP BY table_schema;

这将返回类似于以下结果:

复制代码
+------------+-----------+
| Database   | Size in MB|
+------------+-----------+
| shield     |   6.66    |
+------------+-----------+

顺便看一下备份之后的大小

注意事项:

  • 这个查询返回的是近似值,因为MySQL在计算表大小时可能会有一些差异。
  • 如果你的数据库非常大,运行这个查询可能会消耗一些资源,因为它需要扫描所有的表。
相关推荐
轩情吖6 分钟前
MySQL之表的增删查改
android·开发语言·c++·后端·mysql·adb·
JZC_xiaozhong9 分钟前
医疗器械行业供应商主数据管理:多视角下的破局与重构
大数据·数据库·重构·数据分析·mdm·主数据管理·数据集成与应用集成
yunyun3212312 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
梨落秋霜16 分钟前
Python入门篇【正则表达式】
python·mysql·正则表达式
学编程的小程32 分钟前
筑牢数据安全防线——金仓数据库SQL防火墙硬核防护解析
数据库·sql
ReSearch35 分钟前
工业物联网的“瘦身”革命:Go 实现 20MB 级边缘存储,基于 LSM-Tree 的深度定制实践
数据库·go
TDengine (老段)41 分钟前
TDengine IDMP 组态面板 —— 锚点
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Navicat中国1 小时前
Navicat 模式设计全解:解决数据库开发 3 大核心痛点
数据库·数据库开发·navicat·模式设计
oradh1 小时前
Oracle 19c 单机安装总结_linux8
数据库·oracle·oracle 19c·oracle安装
瀚高PG实验室1 小时前
瀚高数据库使用IPv6连接的配置方法
数据库·瀚高数据库