MySQLで一時テーブルの列(カラム)を一覧表示する方法
MySQLで一時テーブル(TEMPORARY TABLE)の列を一覧表示するには、まず対象となる一時テーブルを作成しておく必要があります。
ここでは例として、学生の詳細情報を格納する複数の列を持つ一時テーブルを作成してみましょう。
mysql> CREATE TEMPORARY TABLE DemoTable745 (
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(100),
StudentAge int,
StudentAddress varchar(100),
StudentCountryName varchar(20)
);
Query OK, 0 rows affected (0.00 sec)SHOW COLUMNS文で一時テーブルの列を確認する
一時テーブルの列を一覧表示するには、通常のテーブルと同様に SHOW COLUMNS 文を使用します。以下のクエリを実行してください。
mysql> SHOW COLUMNS FROM DemoTable745;
このクエリを実行すると、次のような出力が得られます。
+--------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | YES | | NULL | NULL | | StudentAge | int(11) | YES | | NULL | NULL | | StudentAddress | varchar(100) | YES | | NULL | NULL | | StudentCountryName | varchar(20) | YES | | NULL | NULL | +--------------------+--------------+------+-----+---------+----------------+ 5 rows in set (0.05 sec)
出力結果の見方
各列の意味は以下の通りです。
- Field: 列名
- Type: データ型(int、varcharなど)
- Null: NULL値を許可するかどうか(NO=許可しない)
- Key: インデックスの種類(PRI=主キー)
- Default: デフォルト値
- Extra: 追加情報(auto_incrementなど)
なお、DESCRIBE DemoTable745; や EXPLAIN DemoTable745; を使っても同じ結果が得られます。また、information_schema.COLUMNS テーブルを参照すれば、より詳細なメタデータを取得することも可能です。一時テーブルもセッション内であれば通常のテーブルと同様に扱えるため、これらのコマンドがそのまま利用できます。
-
MySQLデータベースで外部キーを確認・識別する方法をわかりやすく解説
はじめに:サンプルテーブルを作成するまずは、外部キーの参照元となる基本テーブルを作成しましょう。以下のクエリを実行します。mysql> create table DemoTable1 (Id int NOT NULL PRIMARY KEY, EmployeeName varchar(100)); Query OK, 0 rows affected (0.50 sec)外部キー制約を持つ2つ目のテーブルを作成する続いて、外部キー制約を設定した2つ目のテーブルを作成します。ここでは DemoTable2 の Id カラムが、DemoTable1 の Id カラムを参照する外部キーとして定義
-
【MySQL】複数の列の組み合わせに一意制約(UNIQUE)を設定する方法
MySQLで列のペアを一意(ユニーク)にするには? MySQLで2つ以上の列の組み合わせに対して一意性を持たせたい場合は、ALTER TABLEコマンドとUNIQUE制約を組み合わせて使用します。単一の列だけでなく、複数列をまとめて1つのユニークキーとして登録できるため、「名前と電話番号の組み合わせが重複してはならない」のような業務ルールをデータベースレベルで実現できます。 基本構文 ALTER TABLE テーブル名 ADD UNIQUE ユニーク制約名(列名1, 列名2, ...N); この構文では、指定した複数の列を連結した値全体が一意である必要があります。つまり、個々の列の値が重複し