如果你需要查询数据库中所有表的行数但不想显示表名,可以使用以下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();

第一个方法快速但不精确,第二个方法精确但执行时间较长。

标签: none

添加新评论