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

MySQLでテーブルの構造を表示する方法|SHOW CREATE TABLEの使い方を解説

MySQLでは、SHOW CREATE TABLE文を使うことで、テーブルの構造(カラム定義、データ型、主キー、文字コードなどの詳細情報)を簡単に確認できます。この記事では、実際にテーブルを作成し、その構造を表示する手順をわかりやすく解説します。

SHOW CREATE TABLEの基本構文

テーブルの構造を表示するには、以下の構文を使用します。

show create table yourTableName;

yourTableName の部分に、構造を確認したいテーブル名を指定してください。

サンプルテーブルの作成

まずは動作確認用に、従業員情報を管理するテーブルを作成してみましょう。

mysql> create table DemoTable
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> EmployeeFirstName varchar(100),
    -> EmployeeLastName varchar(100),
    -> EmployeeAge int,
    -> isMarried tinyint(1),
    -> EmployeeAddress varchar(100),
    -> EmployeeCountryName varchar(100)
    -> );
Query OK, 0 rows affected (0.62 sec)

このテーブルには、自動採番される主キー「Id」をはじめ、氏名・年齢・結婚状況・住所・国名といったカラムが定義されています。

テーブル構造を表示するクエリ

作成したテーブルの構造を表示するには、次のクエリを実行します。

mysql> show create table DemoTable;

実行結果

上記のクエリを実行すると、以下のような出力が得られます。

+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table        | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable | CREATE TABLE `DemoTable` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `EmployeeFirstName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `EmployeeLastName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `EmployeeAge` int(11) DEFAULT NULL,
  `isMarried` tinyint(1) DEFAULT NULL,
  `EmployeeAddress` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `EmployeeCountryName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

出力結果から読み取れる情報

SHOW CREATE TABLEの出力には、以下のような重要な情報が含まれています。

  • カラム定義: 各カラムのデータ型やNULL許可の有無(DEFAULT NULLなど)
  • 主キー情報: PRIMARY KEYとして設定されたカラム
  • AUTO_INCREMENT: Idカラムが自動採番される設定になっていること
  • 照合順序(COLLATE): utf8_unicode_ciが適用されていること
  • ストレージエンジンと文字コード: ENGINE=InnoDB、CHARSET=utf8の設定

補足:DESCRIBE文との違い

テーブル構造の確認にはDESCRIBE テーブル名;(またはDESC テーブル名;)も使えます。DESCRIBEはカラム名・型・NULL可否・キー情報などを簡潔な一覧形式で表示するのに対し、SHOW CREATE TABLEは実際のCREATE TABLE文そのものを出力するため、文字コードやストレージエンジンまで含めた完全な定義を知りたい場合に便利です。

  1. MySQLテーブルからランダムな行を表示する方法(ORDER BY RAND()の使い方)

    MySQLのテーブルからランダムに1行だけ取得して表示したい場合には、RAND()関数をLIMIT句と組み合わせて使用します。今回は1行だけ取得したいので、「LIMIT 1」と指定します。まずは動作確認用のサンプルテーブルを作成してみましょう。サンプルテーブルの作成mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(50), Quote text ); Query OK, 0 rows affected (0.71 sec)次に、INSER

  2. Javaを使用してMySQLテーブルの値を表示する方法

    MySQLデータベースのテーブル値をJavaで表示するには、ResultSetの概念を利用します。データベースへの接続には、MySQL JDBCドライバーを使用します。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table demo87    -> (    -> name varchar(20),    -> age int    -> )