概要
レコードがまだ残っているのか確認するときに便利です
環境
- macOS 11.6.7
- MySQL 8.0.29
スクリプト
1行
export DB_NAME=test && export DB_USER=root && export DB_PASS='' && for table_name in `mysql -u ${DB_USER} --password=${DB_PASS} ${DB_NAME} -e "show tables \G" | grep Tables_in | awk '{print $NF}'`; do echo $table_name; mysql -u ${DB_USER} --password=${DB_PASS} ${DB_NAME} -e "select count(*) from $table_name;"; done
改行あり
export DB_NAME=test && \
export DB_USER=root && \
export DB_PASS='' && \
for table_name in `mysql -u ${DB_USER} --password=${DB_PASS} ${DB_NAME} -e "show tables \G" | grep Tables_in | awk '{print $NF}'`
do
echo $table_name
mysql -u ${DB_USER} --password=${DB_PASS} ${DB_NAME} -e "select count(*) from $table_name;"
done
P.S table_rows は概算値なので正確な値は取得できない
以下のそのパターンです
全テーブルの合計のレコード数を取得
export DB_NAME=test && mysql -u root -p ${DB_NAME} -e "SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = \"${DB_NAME}\";"
テーブルごとに表示する
export DB_NAME=test && mysql -u root -p ${DB_NAME} -e "SELECT table_name, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = \"${DB_NAME}\";"
0 件のコメント:
コメントを投稿