选择数据库中所有表的行数
Posted
技术标签:
【中文标题】选择数据库中所有表的行数【英文标题】:Select number of rows in all tables in the database 【发布时间】:2010-06-08 22:44:58 【问题描述】:我想知道这是否可以在 mysql 上使用直接 SQL。我需要对数据库中的每个表执行 SELECT COUNT(*) FROM 并将结果输出到一个结果集中。
是否可以只使用 SQL?
【问题讨论】:
【参考方案1】:事实上有。您必须使用 INFORMATION_SCHEMA。在 INFORMATION_SCHEMA.tables 中有一列 TABLE_ROWS。
http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
【讨论】:
此信息仅对某些引擎是可靠的。对于其他人,获取实际行数的唯一方法是运行SELECT COUNT(*)
。 dev.mysql.com/doc/refman/5.1/en/show-table-status.html
扩展答案:***.com/questions/24707814/…【参考方案2】:
如果一个 SQL 算作一个存储过程,那么是的!
.. 你可以使用游标和动态 sql。
exec("select count(*) from " + @tableName)
....输入东西!
我确定 mysql 可能有一个内置的 SQL 或 SP 可以为您执行此操作,但恐怕我不知道它是什么。
【讨论】:
这是 SQL Server 动态 SQL 语法 - 您需要将其更改为使用 MySQL 的 Prepared Statement 语法:dev.mysql.com/tech-resources/articles/4.1/…以上是关于选择数据库中所有表的行数的主要内容,如果未能解决你的问题,请参考以下文章