MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで特定のデータベース内テーブルのステータスを確認する方法

SHOW TABLE STATUSステートメントとは

MySQLでは、SHOW TABLE STATUSステートメントを使用することで、データベース内に存在するテーブルの詳細な状態(ステータス)を一括して確認できます。このコマンドを実行すると、テーブル名、ストレージエンジンの種類、行数、平均行長、データサイズ、照合順序、作成日時など、テーブル運用に役立つさまざまな情報を取得できます。

基本的な使い方

まずUSEステートメントで対象のデータベースを選択し、その後SHOW TABLE STATUSを実行します。以下は「tutorial」というデータベースでの実行例です。

mysql> USE tutorial;
mysql> SHOW TABLE STATUS \G

出力結果の例

*************************** 1. row ***************************
           Name: student
         Engine: InnoDB
          Version: 10
     Row_format: Compact
           Rows: 0
 Avg_row_length: 0
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 7340032
 Auto_increment: NULL
    Create_time: 2017-10-24 09:34:29
    Update_time: NULL
     Check_time: NULL
      Collation: latin1_swedish_ci
       Checksum: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

この結果から、データベース「tutorial」には「student」という名前のテーブルが1つだけ存在することがわかります。また、InnoDBエンジンを使用しており、2017年10月24日に作成されたテーブルであることも確認できます。

主な出力項目の意味

  • Name: テーブル名
  • Engine: 使用されているストレージエンジン(InnoDB、MyISAMなど)
  • Rows: テーブル内の行数の概算値
  • Avg_row_length: 1行あたりの平均バイト数
  • Data_length: データファイルのサイズ(バイト)
  • Auto_increment: 次に割り当てられるAUTO_INCREMENT値
  • Create_time: テーブルの作成日時
  • Update_time: 最終更新日時
  • Collation: テーブルの照合順序

特定のテーブルだけステータスを確認するには

データベース内に多数のテーブルがある場合、LIKE句を組み合わせることで、特定のテーブルのステータスのみを表示できます。

mysql> SHOW TABLE STATUS LIKE 'student' \G

このように、SHOW TABLE STATUSステートメントを活用すれば、テーブルの構造や状態を簡単に把握でき、パフォーマンスチューニングやメンテナンス作業にも役立ちます。

  1. MySQLでINFORMATION_SCHEMA.TABLESを使ってテーブルの存在を確認する方法

    INFORMATION_SCHEMA.TABLESとはMySQLでデータベース内に特定のテーブルがすでに存在するかどうかを確認したい場合、INFORMATION_SCHEMA.TABLESを利用するのが便利です。INFORMATION_SCHEMAは、データベースやテーブルなどのメタ情報を管理する特殊なスキーマであり、そこに対してクエリを実行することで、目的のテーブルが存在するかどうかを簡単に調べられます。基本構文SELECT TABLE_NAMEFROM INFORMATION_SCHEMA.TABLESWHERE TABLE_SCHEMA = yourDatabaseNameAND TAB

  2. MySQLデータベース内の空のテーブルを確認する方法をわかりやすく解説

    データベース内のテーブルが空かどうかを確認するには、テーブルから実際にレコードを抽出してみる必要があります。テーブルにデータが存在する場合はレコードが返され、空の場合は「Empty set(空のセット)」が返されます。ここからは、サンプルテーブルを使いながら具体的な手順を見ていきましょう。1. テーブルを作成するまず、CREATE TABLE文でテーブルを作成します。mysql> create table DemoTable(Id int, Name varchar(100), Age int); Query OK, 0 rows affected (0.80 sec)2. レコードを挿