统计MySQL数据库中每个库的每个表的行数

1、编辑脚本

#!/bin/bash

# 设置MySQL连接信息
user="your_username"
password="your_password"
host="localhost"

# 输出文件名
output_file="table_row_counts.txt"

# 创建或清空输出文件
> "$output_file"

# 获取所有数据库列表
databases=$(mysql -u"$user" -p"$password" -h"$host" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)")

# 遍历每个数据库
for db in $databases; do
    # 获取数据库中的所有表
    tables=$(mysql -u"$user" -p"$password" -h"$host" -e "USE $db; SHOW TABLES;" | grep -v "Tables_in")

    # 遍历每个表并获取行数
    for table in $tables; do
        row_count=$(mysql -u"$user" -p"$password" -h"$host" -e "USE $db; SELECT COUNT(*) FROM $table;" | grep -v "COUNT")
        
        # 将结果追加到输出文件
        echo "Database: $db, Table: $table, Row count: $row_count" >> "$output_file"
    done
done

echo "Table row counts saved in $output_file"

 

2、执行脚本

./count_rows.sh

这将统计每个库中每个表的行数,并将结果保存到table_row_counts.txt文件中。

 

posted @ 2023-05-19 00:15  雪竹子  阅读(77)  评论(0编辑  收藏  举报