如果你需要查询数据库中所有表的行数但不想显示表名,可以使用以下SQL语句:
SELECT SUM(TABLE_ROWS) AS total_rows
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '你的数据库名';
这个查询会返回数据库中所有表的行数总和,而不会列出单个表名。
注意事项
- 将’你的数据库名’替换为你实际的数据库名称
- TABLE_ROWS是近似值,对于InnoDB表可能不精确
- 如果你需要精确计数,可以考虑使用存储过程来遍历所有表
精确计数的方法(执行较慢)
如果需要精确计数,可以使用以下存储过程:
DELIMITER //
CREATE PROCEDURE count_all_rows()
BEGIN
DECLARE total INT DEFAULT 0;
SELECT SUM(TABLE_ROWS) INTO total
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE();
SELECT total AS total_rows;
END //
DELIMITER ;
CALL count_all_rows();
第一个方法快速但不精确,第二个方法精确但执行时间较长。
正文完