mysql如何查询所有表行数

avatar
作者
猴君
阅读量:0

要查询MySQL中所有表的行数,您可以使用以下方法:

  1. 首先,需要创建一个存储过程来遍历所有表并计算行数。在MySQL命令行中运行以下代码:
DELIMITER // CREATE PROCEDURE count_rows() BEGIN     DECLARE done INT DEFAULT FALSE;     DECLARE tableName CHAR(255);     DECLARE rowCount BIGINT;     DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();     DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;      CREATE TEMPORARY TABLE temp_row_counts (tableName VARCHAR(255), rowCount BIGINT);      OPEN cur;      read_loop: LOOP         FETCH cur INTO tableName;          IF done THEN             LEAVE read_loop;         END IF;          SET @sql = CONCAT('SELECT COUNT(*) INTO @rowCount FROM ', tableName);         PREPARE stmt FROM @sql;         EXECUTE stmt;         DEALLOCATE PREPARE stmt;          INSERT INTO temp_row_counts VALUES (tableName, @rowCount);     END LOOP;      CLOSE cur;      SELECT * FROM temp_row_counts; END// DELIMITER ; 

这将创建一个名为count_rows的存储过程,该过程将遍历当前数据库中的所有表,并计算每个表的行数。

  1. 调用存储过程以查看所有表的行数:
CALL count_rows(); 

这将返回一个结果集,其中包含每个表的名称及其对应的行数。请注意,这种方法可能需要一些时间才能在大型数据库上完成。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!