MySQLデータベースでENUM型の値を列挙・管理する方法
MySQLのENUM型とは
MySQLでは、ENUM(列挙型)を使用することで、カラムに設定可能な値をあらかじめ定義できます。ENUM型のカラムには、定義済みの値リストの中から1つだけ値を格納でき、データの整合性を保ちながら文字列を内部的に数値として効率的に保存できるのが特徴です。
基本構文
ENUM型は次のような構文で定義します。
yourColumnName ENUM('value1','value2',......'valueN')括弧内に許可したい値をカンマ区切りで並べるだけで、そのカラムに入力できる値が自動的に制限されます。
テーブルの作成例
まず、ENUM型のカラムを持つテーブルを作成してみましょう。
mysql> create table EnumDemo
-> (
-> Light int,
-> IsONOrOff ENUM('ON','OFF')
-> );
Query OK, 0 rows affected (1.06 sec)
この例では、数値型の「Light」カラムに対して、その状態(ON/OFF)を「IsONOrOff」というENUM型のカラムで表現しています。これにより、「Light」の値に対応する取りうる状態をENUMで明確に管理できます。
レコードの挿入
続いて、作成したテーブルにレコードを挿入します。
mysql> insert into EnumDemo values(1,'ON'),(0,'OFF');
Query OK, 2 rows affected (0.24 sec)
Records: 2 Duplicates: 0 Warnings: 0
全レコードの表示
挿入したすべてのレコードを確認してみます。
mysql> select *from EnumDemo;
以下が出力結果です。ENUM型の値が正しく格納・表示されていることがわかります。
+-------+-----------+
| Light | IsONOrOff |
+-------+-----------+
| 1 | ON |
| 0 | OFF |
+-------+-----------+
2 rows in set (0.07 sec)
まとめ
ENUM型を活用すれば、カラムに入力可能な値を厳密に制限できるため、誤ったデータの挿入を防ぐことができます。特にON/OFFのようなスイッチ状態や、曜日・ステータスなど選択肢が限定されるデータを扱う際に非常に便利な型です。
-
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)これで、Col
-
MySQLで「&」を「&」に置き換える方法を解説
MySQLで「&」を「&」に置き換える方法データベースにHTMLエンティティ形式の「&」が保存されており、これを通常のアンパサンド「&」に変換したいケースはよくあります。そんなときは、MySQLのREPLACE()関数を使えば簡単に解決できます。REPLACE()関数は、文字列の中から指定した部分文字列を検索し、別の文字列に置き換えることができる便利な関数です。ここでは、サンプルテーブルを使いながら、実際の置き換え手順を順番に解説していきます。手順1:サンプルテーブルを作成するまず、以下のコマンドでテーブルを作成します。mysql> cre