MySQL データベースを管理する場合、データベースのサイズと増加を監視するためにすべてのテーブルの行数を取得すると便利なことがよくあります。 MySQL には、データベース内のすべてのテーブルの行を直接カウントするための組み込みコマンドが提供されていませんが、単純な Bash スクリプトを使用してこれを簡単に実行できます。
この記事では、MySQL データベース内の各テーブルにクエリを実行し、各テーブルの行数 (COUNT(1)) を返す Bash スクリプトを作成して実行する方法を説明します。
まず、MySQL サーバーに接続し、すべてのテーブルを取得し、テーブルごとに SELECT COUNT(1) を実行して行をカウントする 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
このスクリプトのコンポーネントを詳しく見てみましょう: