ホームページ > データベース > mysql チュートリアル > Bash スクリプトを使用してすべての MySQL テーブルの行を数える方法

Bash スクリプトを使用してすべての MySQL テーブルの行を数える方法

DDD
リリース: 2024-11-25 16:00:15
オリジナル
288 人が閲覧しました

How to Count Rows in All MySQL Tables Using a Bash Script

MySQL データベースを管理する場合、データベースのサイズと増加を監視するためにすべてのテーブルの行数を取得すると便利なことがよくあります。 MySQL には、データベース内のすべてのテーブルの行を直接カウントするための組み込みコマンドが提供されていませんが、単純な Bash スクリプトを使用してこれを簡単に実行できます。

この記事では、MySQL データベース内の各テーブルにクエリを実行し、各テーブルの行数 (COUNT(1)) を返す Bash スクリプトを作成して実行する方法を説明します。

前提条件

  • MySQL サーバー: データベースにアクセスできる MySQL サーバーが実行されている必要があります。
  • Bash: スクリプトは Bash で記述されるため、Bash が利用可能な Unix 系システム (Linux/macOS) で実行していることを確認してください。

ステップバイステップガイド

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
ログイン後にコピー

2. スクリプトの内訳

このスクリプトのコンポーネントを詳しく見てみましょう: