溫馨提示×

mysql如何查詢所有表行數(shù)

小億
83
2024-09-03 06:58:37
欄目: 云計算

要查詢MySQL中所有表的行數(shù),您可以使用以下方法:

  1. 首先,需要創(chuàng)建一個存儲過程來遍歷所有表并計算行數(shù)。在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 ;

這將創(chuàng)建一個名為count_rows的存儲過程,該過程將遍歷當(dāng)前數(shù)據(jù)庫中的所有表,并計算每個表的行數(shù)。

  1. 調(diào)用存儲過程以查看所有表的行數(shù):
CALL count_rows();

這將返回一個結(jié)果集,其中包含每個表的名稱及其對應(yīng)的行數(shù)。請注意,這種方法可能需要一些時間才能在大型數(shù)據(jù)庫上完成。

0