我有一个要求,需要计算给定数据库的列数、行数和每个表的大小。
下面的查询没有给出确切的结果,
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/