mysql - 如何从特定数据库中检索带有行数的表名?

标签 mysql ruby-on-rails

如何检索特定数据库的表名和行数?

比如我的数据库名称是 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 列。

  1. 原始表名
  2. 友好的表名
  3. 表的记录
  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/

相关文章:

ruby-on-rails - 在 Rails 3 模型中创建命名关系

ruby-on-rails - 如何使用 RestClient 进行 Rails 基本授权?

php - 在 iframe PHP 中显示 pdf

mysql - 如何防止将假期插入到作为日期列的表中

mysql - SQL 查询,查询到来自不同表的单个字段名称

ruby-on-rails - 为什么不能在其中分配值或在 rspec 上分配特殊 block

Rails 中的 jQuery Action

ruby-on-rails - Ruby on Rails : How to set up "find" options in order to not use cache

mysql - 用于统计所有 child 论坛主题和帖子的 SQL 查询

php - MySQL 中的重复数据停止