{category}

MySQL - 特殊なデータ型

ENUM

イーナム(データ型と制約

意味 定義済み値のリストから選択


ENUMとは?

ENUMは、MySQLで事前に定義された値のリストから一つを選択して格納するための特殊なデータ型です。これにより、特定のカラムに入力できる値を制限し、データの一貫性を保つことができます。

ENUMの具体的な使い方

ENUM型の使用例

CREATE TABLE shirts (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(40),
  size ENUM('small', 'medium', 'large')
);

INSERT INTO shirts (name, size) VALUES ('T-shirt', 'medium');
INSERT INTO shirts (name, size) VALUES ('Polo', 'small');

SELECT * FROM shirts;

👇出力結果

id | name    | size
1  | T-shirt | medium
2  | Polo    | small

この例では、shirtsテーブルを作成し、sizeカラムをENUM型で定義しています。sizeカラムには'small'、'medium'、'large'のいずれかの値のみを格納することができます。

ENUMに関するよくある質問

Q. ENUMの値を数値で扱えますか?
A. はい、ENUMの各要素には内部的に1から始まる数値が割り当てられます。'small'は1、'medium'は2、'large'は3として扱えます。
Q. ENUMに無効な値を挿入するとどうなる?
A. 厳密なSQLモードでは、エラーが発生します。そうでない場合、空文字列が挿入されるか、警告が発生して最初の要素が使用されます。
Q. ENUMの値を後から変更できますか?
A. ALTER TABLE文を使用してENUMの定義を変更できますが、既存のデータとの整合性に注意が必要です。新しい値を追加するのは比較的安全ですが、既存の値を削除すると問題が生じる可能性があります。

ENUMが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、MySQLのENUMやFLOAT、BLOB、Generated Columns、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


MySQLを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!MySQLはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

FLOAT

小数点を持つ近似値数値型

種類: 数値型

BLOB

バイナリデータ用の型

種類: 文字列型

Generated Columns

他の列から計算される列

種類: 生成列

REVOKE

ユーザーの権限を剥奪

種類: 権限管理

COMMIT

トランザクションの確定

種類: トランザクション管理