MySQLでカスケード(テーブル定義)を表示する方法|SHOW CREATE TABLEの使い方
MySQLでテーブルの「カスケード」、つまりテーブルを作成した際のCREATE TABLE文の内容を確認したい場合は、SHOW CREATE TABLEステートメントを使用します。このコマンドを実行すると、カラムのデータ型、主キー、ユニークキー、インデックス、ストレージエンジン、文字セットといったテーブルの完全な定義を一度に確認できます。
手順1:サンプルテーブルを作成する
まず、動作を確認するためのデモテーブルを作成しましょう。以下のSQLを実行します。
mysql> create table DemoTable1378
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> EmployeeId varchar(20),
-> EmployeeFirstName varchar(20),
-> EmployeeLastName varchar(20),
-> EmployeeCountryName varchar(40),
-> EmployeeAge int,
-> EmployeeSalary int,
-> UNIQUE(EmployeeFirstName,EmployeeSalary),
-> INDEX First_Last_NameIndex(EmployeeFirstName,EmployeeLastName)
-> );
Query OK, 0 rows affected (0.93 sec)
Query OKと表示されれば、テーブルの作成は成功です。
手順2:SHOW CREATE TABLEでカスケードを表示する
続いて、以下のコマンドを実行してテーブルの定義(カスケード)を表示します。
mysql> show create table DemoTable1378;
実行結果
上記のコマンドを実行すると、テーブル名と対応するCREATE TABLE文が結果セットとして返されます。
CREATE TABLE `demotable1378` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `EmployeeId` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `EmployeeFirstName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `EmployeeLastName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `EmployeeCountryName` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, `EmployeeAge` int(11) DEFAULT NULL, `EmployeeSalary` int(11) DEFAULT NULL, PRIMARY KEY (`Id`), UNIQUE KEY `EmployeeFirstName` (`EmployeeFirstName`,`EmployeeSalary`), KEY `First_Last_NameIndex` (`EmployeeFirstName`,`EmployeeLastName`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
出力結果の見方
この出力から、以下のような情報を読み取ることができます。
- 主キー:
IdカラムにはAUTO_INCREMENTが設定されており、自動採番の主キーとして機能しています。 - ユニークキー:
EmployeeFirstNameとEmployeeSalaryの組み合わせに対して一意制約(UNIQUE KEY)が設定されています。 - インデックス:
First_Last_NameIndexという名前の複合インデックスが、EmployeeFirstNameとEmployeeLastNameに作成されています。 - ストレージエンジンと文字セット: エンジンはInnoDB、文字セットはutf8、照合順序はutf8_unicode_ciが使用されています。
SHOW CREATE TABLEは、既存テーブルの構造を把握したり、別の環境へ同じテーブルを再現するためのDDLを取得したりする際に非常に便利なコマンドです。バックアップや移行作業の前にも活用しておくと安心です。
-
MySQLで空のビュー(VIEW)を作成する方法
MySQLで空のビュー(VIEW)を作成したい場合は、WHERE FALSEを使うのがポイントです。SELECT文の結果が常に0行になるように条件を指定することで、列の構造だけを持ち、データが1件も含まれないビューを定義できます。 空のビューを作成する基本構文 create or replace view yourViewName as select yourValue AS yourColumnName, yourValue AS yourColumnName2, . . N from dual where false; この構文では、SELECT句で各列名(AS以降)とその型のもととなる値
-
MySQLでビュー(VIEW)を作成する方法|CREATE VIEWの基本構文と実行例を解説
MySQLのビュー(VIEW)とは?ビュー(VIEW)とは、SQLクエリの結果セットをもとに定義される「仮想テーブル」のことです。実際のデータを物理的に保存するわけではなく、元のテーブルへの参照情報のみを保持します。そのため、複雑なクエリをシンプルな名前で呼び出せるようにしたり、ユーザーに見せたい列や行だけを限定して提供したりする際に非常に便利です。MySQLでビューを作成するには、CREATE VIEW文を使用します。ビュー作成の基本構文ビューを作成するための基本構文は以下の通りです。create view yourViewName as select * from yourTableNam