mysql - 如何统计mysql的行数和列数

标签 mysql

我有一个要求,需要计算给定数据库的列数、行数和每个表的大小。

下面的查询没有给出确切的结果,

SELECT t1.table_name, t1. table_rows,COUNT(t2.table_name) AS table_colums, t1. data_length 
FROM INFORMATION_SCHEMA.TABLES t1 
JOIN (SELECT table_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='my_db_name') t2 
ON t1.table_name=t2.table_name 
WHERE t1.TABLE_SCHEMA = 'my_db_name';

有什么线索吗?

最佳答案

计算行数:

SELECT COUNT(*) FROM yourtable;

计算列数:

SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'yourtable'

如果您所说的每个表的大小是以MB为单位的大小,那么:

SELECT 
    table_name AS `Table`, 
    round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` 
FROM information_schema.TABLES 
WHERE table_schema = "yourdatabase"
    AND table_name = "yourtable";

关于mysql - 如何统计mysql的行数和列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50347534/

相关文章:

mysql - 如何在zend 2中编写子查询

为用户创建基于复古成就的网站的Mysql数据库设计

MySQL 与 LEFT JOINS 相关的子查询

php - 转换日期字符串以插入 mysql 日期格式

php - 从数据库中获取数据并显示在下拉列表中

MySQL 数据库在 ubuntu 14.04 中的 XAMPP-1.8.3.4 中停止

PHP Mysql select语句仅显示当天记录

sql - 修改 Wordpress SQL 查询以从类别中提取

MySQL "OR MATCH"在多个表上挂起(非常慢)

python - 在 Mysql 中存储 Pickled 数据