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

MySQLで特定の3つの値しか格納できないカラムを持つテーブルを作成する方法

MySQLで、あらかじめ決められた3つの値だけを格納できるカラムを持つテーブルを作成したい場合は、ENUMデータ型を使用します。ENUM型を使うと、指定した候補値以外のデータが挿入されるのを防ぐことができます。

テーブルの作成

まず、ENUM型のカラムを持つテーブルを作成しましょう。ここでは例として、「RED」「GREEN」「BLUE」の3色のみを許可するColorカラムを定義します。

mysql> create table DemoTable838(Color ENUM('RED','GREEN','BLUE'));
Query OK, 0 rows affected (0.67 sec)

これで、Colorカラムには「RED」「GREEN」「BLUE」のいずれかの値しか保存できなくなります。

レコードの挿入

次に、INSERTコマンドを使ってテーブルにレコードを挿入します。

mysql> insert into DemoTable838 values('RED');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable838 values('Green');
Query OK, 1 row affected (0.64 sec)
mysql> insert into DemoTable838 values('Blue');
Query OK, 1 row affected (0.88 sec)

なお、ENUM型では大文字・小文字は区別されず、定義時の表記(この場合は大文字)に自動的に変換されて格納されます。

レコードの確認

SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable838;

実行すると、以下のような結果が出力されます。

+-------+
| Color |
+-------+
| RED   |
| GREEN |
| BLUE  |
+-------+
3 rows in set (0.00 sec)

このように、ENUMデータ型を活用すれば、取り得る値が限定されたカラムを簡単に実装でき、データの一貫性も保たれます。ステータスやカテゴリなど、選択肢が固定されている項目に特に有効です。

  1. MySQLでインデックス付きのテーブルを作成する方法を徹底解説

    MySQLでは、テーブル作成後にCREATE INDEX文を使うことで、特定のカラムに対してインデックスを追加できます。検索速度の向上やデータ整合性の確保において、インデックスは非常に重要な役割を果たします。この記事では、基本的な構文から実際の実行例まで、順を追ってわかりやすく解説します。インデックス付きテーブルを作成する基本構文まずテーブルを作成し、その後CREATE INDEX文でインデックスを追加します。基本の構文は以下のとおりです。create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataTyp

  2. JavaでMySQLテーブルに1つのカラムのみを挿入する方法

    JavaとMySQLを連携させる際、テーブルの一部のカラムだけにデータを挿入したいケースはよくあります。その場合は、JDBCのINSERT INTOステートメントを使用します。挿入対象のカラム名を明示的に指定することで、他のカラムには影響を与えずに1つのカラムのみへ値を登録できます。この記事では、実際にテーブルを作成し、Javaのコードから「Name」という1つのカラムだけにデータを挿入する手順を解説します。1. 挿入先のテーブルを作成するまず、MySQLで以下のようにテーブルを作成しておきましょう。ここでは、varchar型の「Name」カラムを1つだけ持つシンプルなテーブルを用意します。m