MySQLでテーブルに適用されている制約を確認する方法|SHOW CREATE TABLEの使い方
SHOW CREATE TABLEステートメントで制約を確認する
MySQLでは、SHOW CREATE TABLEステートメントを使用することで、特定のテーブルに適用されている制約を、テーブルに関するその他の詳細情報とともに簡単に確認できます。
構文
SHOW CREATE TABLE table_name;
ここで「table_name」には、制約を確認したいテーブルの名前を指定します。
使用例
以下の例では、「employees」という名前のテーブルの詳細情報を取得しています。
mysql> SHOW CREATE TABLE employees\G
*************************** 1. row ***************************
Table: employees
Create Table: CREATE TABLE `employees` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(35) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)上記の結果セットを見ると、「employees」テーブルの「Id」カラムにPRIMARY KEY制約が設定されていることがわかります。このように、CREATE TABLE文として出力される内容には、主キー制約だけでなく、NOT NULLやDEFAULT値なども含まれるため、テーブル定義全体を把握するのに便利です。
補足:INFORMATION_SCHEMAで制約一覧を取得する
より詳細に制約だけを一覧形式で確認したい場合は、information_schema.TABLE_CONSTRAINTSテーブルを参照する方法もあります。
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA = 'データベース名' AND TABLE_NAME = 'employees';
このクエリを実行すると、指定したテーブルに適用されているPRIMARY KEY、UNIQUE、FOREIGN KEYなどの制約名と種類を一覧で取得できます。用途に応じて両方の方法を使い分けるとよいでしょう。
-
MySQLで特定のデータベース内にあるビューのメタデータを確認する方法
MySQLでは、INFORMATION_SCHEMA データベース内の VIEWS テーブルを参照することで、ビューのメタデータ(ビューに関する定義情報)を確認できます。このテーブルには、ビューの定義内容や作成者、更新可否などの詳細が格納されています。ここでは、「Info」という名前のビューを例に、具体的な確認方法を見ていきましょう。ビューのメタデータを取得するクエリ以下のクエリを実行すると、「query」データベース内の「Info」というビューのメタデータを表示できます。mysql> SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_
-
PHPスクリプトを使ってMySQLテーブルを作成する方法をわかりやすく解説
PHPには、MySQLのクエリを実行するための mysql_query 関数が用意されており、これを使うことでMySQLテーブルを作成できます。ここでは、PHPスクリプトから「Tutorials_tbl」という名前のテーブルを作成する具体例を見ていきましょう。 サンプルコード:PHPでMySQLテーブルを作成する 以下の例では、まずデータベースに接続し、その後 CREATE TABLE 文を実行してテーブルを生成しています。 <html> <head> <title>Creating MySQL Tables</title>