前言:
information_schema 库的 TABLES 表,字段分别是
CREATE TEMPORARY TABLE `TABLES` (
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
`TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
`ENGINE` varchar(64) DEFAULT NULL,
`VERSION` bigint(21) unsigned DEFAULT NULL,
`ROW_FORMAT` varchar(10) DEFAULT NULL,
`TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
`AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
`DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
`MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
`INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
`DATA_FREE` bigint(21) unsigned DEFAULT NULL,
`AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
`CREATE_TIME` datetime DEFAULT NULL,
`UPDATE_TIME` datetime DEFAULT NULL,
`CHECK_TIME` datetime DEFAULT NULL,
`TABLE_COLLATION` varchar(32) DEFAULT NULL,
`CHECKSUM` bigint(21) unsigned DEFAULT NULL,
`CREATE_OPTIONS` varchar(255) DEFAULT NULL,
`TABLE_COMMENT` varchar(2048) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8 |
查询所有数据库总大小
mysql> select concat(round(sum(DATA_LENGTH/1024/1024), 2),'MB') as data_size from information_schema.tables;
+-----------+
| data_size |
+-----------+
| 1177.00MB |
+-----------+
1 row in set (19.26 sec)
查询某个数据库大小
mysql> select concat(round(sum(DATA_LENGTH/1024/1024), 2),'MB') as data_size from information_schema.tables where TABLE_SCHEMA='mysql';
+-----------+
| data_size |
+-----------+
| 0.55MB |
+-----------+
1 row in set (0.25 sec)
1、查询数据库中的表占用空间大小
例如,查询mysql数据库下表
mysql> select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size, concat(truncate(index_length/1024/1024,2),' MB') as index_size from information_schema.tables where TABLE_SCHEMA='mysql' group by TABLE_NAME order by data_length desc;
+---------------------------+-----------+------------+
| TABLE_NAME | data_size | index_size |
+---------------------------+-----------+------------+
| help_topic | 0.45 MB | 0.02 MB |
| help_keyword | 0.08 MB | 0.01 MB |
| help_relation | 0.00 MB | 0.01 MB |
| proxies_priv | 0.00 MB | 0.00 MB |
| help_category | 0.00 MB | 0.00 MB |
| user | 0.00 MB | 0.00 MB |
| proc | 0.00 MB | 0.00 MB |
| db | 0.00 MB | 0.00 MB |
| ndb_binlog_index | 0.00 MB | 0.00 MB |
| time_zone_transition | 0.00 MB | 0.00 MB |
| general_log | 0.00 MB | 0.00 MB |
| time_zone_leap_second | 0.00 MB | 0.00 MB |
| event | 0.00 MB | 0.00 MB |
| tables_priv | 0.00 MB | 0.00 MB |
| columns_priv | 0.00 MB | 0.00 MB |
| servers | 0.00 MB | 0.00 MB |
| procs_priv | 0.00 MB | 0.00 MB |
| plugin | 0.00 MB | 0.00 MB |
| host | 0.00 MB | 0.00 MB |
| time_zone_transition_type | 0.00 MB | 0.00 MB |
| time_zone_name | 0.00 MB | 0.00 MB |
| func | 0.00 MB | 0.00 MB |
| time_zone | 0.00 MB | 0.00 MB |
| slow_log | 0.00 MB | 0.00 MB |
+---------------------------+-----------+------------+
24 rows in set (0.86 sec)
2、查询数据库中某个表占用空间的大小
例如,查询mysql数据库下的help_topic表
mysql> select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size, concat(truncate(index_length/1024/1024,2),' MB') as index_size from information_schema.tables where TABLE_SCHEMA='mysql' and TABLE_NAME='help_topic' group by TABLE_NAME order by data_length desc;
+------------+-----------+------------+
| TABLE_NAME | data_size | index_size |
+------------+-----------+------------+
| help_topic | 0.45 MB | 0.02 MB |
+------------+-----------+------------+
1 row in set (0.05 sec)
3、查看数据库中表的最后修改时间
例如,查询mysql数据库下的表
mysql> SELECT TABLE_NAME,UPDATE_TIME FROM information_schema.tables where TABLE_SCHEMA='mysql';
+---------------------------+---------------------+
| TABLE_NAME | UPDATE_TIME |
+---------------------------+---------------------+
| columns_priv | 2014-12-02 14:38:56 |
| db | 2014-12-02 14:56:52 |
| event | 2014-12-02 14:39:05 |
| func | 2014-12-02 14:38:59 |
| general_log | NULL |
| help_category | 2014-12-02 14:38:34 |
| help_keyword | 2014-12-02 14:38:34 |
| help_relation | 2014-12-02 14:38:34 |
| help_topic | 2014-12-02 14:38:34 |
| host | 2014-12-02 14:39:05 |
| ndb_binlog_index | 2014-12-02 14:38:32 |
| plugin | 2014-12-02 14:39:00 |
| proc | 2014-12-02 14:39:05 |
| procs_priv | 2014-12-02 14:39:03 |
| proxies_priv | 2014-12-02 14:38:34 |
| servers | 2014-12-02 14:38:30 |
| slow_log | NULL |
| tables_priv | 2014-12-02 14:38:56 |
| time_zone | 2014-12-02 14:38:31 |
| time_zone_leap_second | 2014-12-02 14:38:31 |
| time_zone_name | 2014-12-02 14:38:30 |
| time_zone_transition | 2014-12-02 14:38:31 |
| time_zone_transition_type | 2014-12-02 14:38:31 |
| user | 2015-06-26 18:14:29 |
+---------------------------+---------------------+
24 rows in set (0.01 sec)
同理,查询某个表,加上TABLE_NAME条件。
分享到:
相关推荐
MySQL 是一种关系型数据库管理系统,提供了多种方式来查询和优化数据库性能。本文总结了一些常用的 MySQL 性能查询语句,帮助数据库管理员和开发人员更好地了解和优化数据库性能。 1. 查看 MySQL 本次启动后的运行...
尽管如此,我将基于标题和描述中提供的关键词“Effective MySQL之SQL语句最优化”来构建知识点。 1. SQL语句最优化的概念:在数据库管理中,对SQL语句进行优化是提高数据库性能的关键环节。最优化的SQL语句能够在...
MySQL作为一款广泛使用的开源关系型数据库管理系统,其SQL查询语言的功能强大且灵活。本知识点集锦将全面介绍MySQL中的SQL查询语句,包括基础操作、数据管理和安全性设置等方面。 基础操作是数据库管理的基础,包括...
MySQL是一种关系型数据库管理系统,使用SQL(Structured Query Language)语言来管理和操作数据库。下面是MySQL中一些常用的SQL语句: 创建、删除和基本查询 * 显示数据库:`show databases;` * 创建数据库:`...
MySQL 是一种常用的关系型数据库管理系统,可以通过 SQL 语言 进行数据的查询和操作。下面列举了 10 个常见的 MySQL 数据查询 语句。 1. SELECT 语句:用于从数据库中查询数据。可以使用通配符(*)选 择所有列,也...
MySQL作为全球最受欢迎的关系型数据库管理系统之一,提供了丰富的SQL查询语句,帮助开发者和DBA们高效地管理和操作数据。本文将深入探讨MySQL查询语句的重要知识点,从基本的数据库操作到高级的权限管理,全面覆盖。...
Python 使用 SQL 语句对 MySQL 数据库多条件模糊查询 Python 是一种广泛使用的编程语言,而 MySQL 是一种常用的关系型数据库管理系统。在实际应用中,我们经常需要使用 Python 连接 MySQL 数据库,并执行多条件...
设计高效合理的MySQL查询语句是提升数据库应用性能的关键。在数据库操作中,查询操作占据了极大的比例,特别是对于大型数据集,如银行账户信息等,优化查询语句可以显著减少查询时间,从数十分钟甚至数小时缩短至几...
标题中的“Excel生成MYSQL建表语句”是指利用JAVA编程技术,通过读取预先设计好的Excel模板,自动生成对应的MySQL数据库建表语句的过程。这个过程通常涉及到数据处理、文件读写以及数据库操作等核心技能。 首先,让...
MySQL查询语句是数据库管理中不可或缺的部分,它用于从MySQL数据库中检索数据。这份"MySQL查询语句汇总.zip"文件提供了全面的学习资料,包括相关的文档说明,非常适合对MySQL查询语句进行深入学习。 首先,我们要...
在设计高效合理的MySQL查询语句时,关注查询性能至关重要,因为查询操作在数据库操作中占据了主要部分,而SELECT语句的执行成本最高。随着数据量的增加,全表扫描会导致查询时间显著增长,可能需要数十分钟甚至数...
MySQL是一种广泛使用的开源关系型数据库管理系统,其SQL(Structured Query Language)是用于管理数据库的核心工具。SQL语句生成器则是帮助用户快速、准确地构建SQL查询的实用工具,尤其适合初学者和那些不熟悉复杂...
Mysql提供了多种查询语句,用于查询数据库中的数据。基本语法格式为:SELECT 语句。 例如,查看Mysql版本号和服务器当前日期: ``` mysql> select version(),current_date; ``` ### 2.2 创建数据库 创建数据库是...
MySQL是一个广泛使用的开源关系型数据库管理系统,而Kettle(又称Spoon)是Pentaho公司开发的一种ETL(Extract, Transform, Load)工具,用于数据抽取、转换和加载。在这个场景中,“kettle批量导出mysql建表语句”...
MySQL和PostgreSQL虽然都是关系型数据库管理系统,但它们的SQL语法在某些方面有所不同。例如,MySQL支持`ON UPDATE CURRENT_TIMESTAMP`特性,当表中的某个字段被更新时,该字段会自动设置为当前时间。而在PostgreSQL...
根据提供的文件信息,本文将详细解释与MySQL系统表查询相关的几个关键知识点,包括如何查询数据库中的表名、字段类型以及如何使用系统表进行查询。同时,我们也会介绍如何通过SQL语句来添加新列。 ### 知识点一:...
【Python+MySQL实现学生信息查询系统】是一种常见的数据管理应用,它允许用户通过Python程序与MySQL数据库交互,以便查询和管理学生信息。在这个系统中,Python作为后端编程语言,负责处理用户输入、执行SQL查询以及...
MySQL是一种广泛使用的开源关系型数据库管理系统,其查询语句是数据操作的核心部分。这份"mysql查询语句汇总.zip"文件显然包含了一份详细整理的MySQL查询语法文档和可能相关的项目说明。下面将对MySQL查询语句的主要...