如何检索特定数据库的表名和行数?
比如我的数据库名称是 xyz。 XYZ 数据库我想获取所有表和特定表的记录数。
查询
SELECT status.real_name AS "real_name", status.friendly_name AS "friendly_name", table_rows AS "quant_of_rows", ROUND((data_length + index_length)/1024/1024,2) AS "total_size_mb"FROM information_schema.TABLES RIGHT JOIN table_status ON status.real_name = information_schema.TABLES.TABLE_NAME WHERE information_schema.TABLES.table_schema='database_name';
此查询显示 4 列。
- 原始表名
- 友好的表名
- 表的记录
- table 的大小
我遇到第 3 列的问题。对于 InnoDB 表,table_rows 只是用于 SQL 优化的粗略估计。
我可以用这样的东西代替 table_rows 吗?
(select count(*) from information_schema.TABLES.TABLE_NAME) AS "Quant_of_Rows"
获取数据库table_row的其他方法有哪些?
最佳答案
类似于 this?还是我没捕获要点?
-- 皮特
关于mysql - 如何从特定数据库中检索带有行数的表名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497680/