MySQL データベースを管理する場合、データベースのサイズと増加を監視するためにすべてのテーブルの行数を取得すると便利なことがよくあります。 MySQL には、データベース内のすべてのテーブルの行を直接カウントするための組み込みコマンドが提供されていませんが、単純な Bash スクリプトを使用してこれを簡単に実行できます。
#!/bin/bash
# MySQL credentials
USER="your_username"
PASSWORD="your_password"
DATABASE="your_database"
# Get list of all tables in the database
TABLES=$(mysql -u $USER -p$PASSWORD -D $DATABASE -e 'SHOW TABLES;' | tail -n +2)
# Loop through each table and get the count
for TABLE in $TABLES; do
COUNT=$(mysql -u $USER -p$PASSWORD -D $DATABASE -e "SELECT COUNT(1) FROM $TABLE;" | tail -n 1)
echo "Table: $TABLE, Count: $COUNT"
done
ログイン後にコピー
2. スクリプトの内訳
このスクリプトのコンポーネントを詳しく見てみましょう:
MySQL ログイン資格情報: スクリプトには MySQL ユーザー名、パスワード、データベース名が必要です。プレースホルダー (your_username、your_password、your_database) を実際の資格情報に置き換えます。
テーブルの取得: SHOW TABLES;クエリは、指定されたデータベース内のすべてのテーブル名を取得します。
テーブルのループ: 次に、スクリプトは各テーブルをループし、SELECT COUNT(1) FROM