2026年7月7日
2026年7月7日
MySQLのデータ型選択ガイド(INT/VARCHAR/TEXT/DATETIME)
ステップ1: INTデータ型の選択と設定
INTデータ型の特徴
INTは整数値を保存するためのデータタイプで、主に識別子やカウント用途に使われます。範囲は-2,147,483,648から2,147,483,647までです。
# INT型を定義する例
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
quantity INT NOT NULL
);
ステップ2: VARCHARデータ型の選択と設定
VARCHARデータ型の特徴
VARCHARは変長文字列を保存するために使用され、最大長を指定することで効率的なメモリ利用が可能です。
# VARCHAR型を定義する例
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
ステップ3: TEXTデータ型の選択と設定
TEXTデータ型の特徴
TEXTは長い文字列を保存するために使用され、VARCHARよりも多くの文字数を許容します。主にレビューや詳細情報など大量のテキストが必要な場面で利用されます。
# TEXT型を定義する例
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
description TEXT NOT NULL
);
ステップ4: DATETIMEデータ型の選択と設定
DATETIMEデータ型の特徴
DATETIMEは日時情報を保存するために使用され、年月日と時間までを含む形式でデータを格納します。
# DATETIME型を定義する例
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
注意事項
- INT型: あまりにも大きい整数は誤差が発生する可能性があります。必要に応じてBIGINTを使用することを検討してください。
- VARCHAR型: 最大長の設定は慎重に行い、不要なメモリ使用を避けるべきです。
- TEXT型: 大量のテキストデータを保存する場合のみ適切な選択としましょう。SELECT文ではパフォーマンスが低下することがあります。
- DATETIME型: 日時情報はUTCで保存すると、タイムゾーンに関する問題が発生しないため推奨です。
まとめ
1. INT: 整数値を保存する際には、範囲や自動インクリメントが必要な場合はAUTO_INCREMENTを使用してください。
2. VARCHAR: テキストデータの長さが固定でない場合に使用し、最大長は必要最小限に設定することをお勧めします。
3. TEXT: 大量のテキストデータを保存するためには適切ですが、頻繁なSELECT操作ではパフォーマンスに注意が必要です。
4. DATETIME: 日時情報を保存する際はUTCで保存し、必要に応じてタイムゾーン変換を行うことが推奨されます。
関連記事: