カテゴリ: Laravel 更新日: 2025/11/15

Laravelのカラムタイプ一覧と使い分け!初心者でもわかるデータ型の基本

Laravelのカラムタイプ一覧と使い分け(string, integer, dateなど)
Laravelのカラムタイプ一覧と使い分け(string, integer, dateなど)

先生と生徒の会話形式で理解しよう

生徒

「Laravelでデータベースのテーブルを作るときに、カラムの型っていっぱいありますよね?どれを使えばいいのか分かりません…」

先生

「とても良い質問です。Laravelでは『マイグレーション』という仕組みを使ってテーブルを作りますが、その中でカラムタイプ(データ型)を指定します。これを正しく使い分けることが大切なんです。」

生徒

「カラムタイプって、数字とか文字の種類を指定するってことですか?」

先生

「そうです!例えば『名前』なら文字列(string)を使い、『年齢』なら整数(integer)を使います。それでは、Laravelでよく使うカラムタイプの一覧と、その使い分け方を詳しく見ていきましょう!」

1. Laravelのマイグレーションでカラムタイプを指定する方法

1. Laravelのマイグレーションでカラムタイプを指定する方法
1. Laravelのマイグレーションでカラムタイプを指定する方法

Laravelでは、マイグレーションファイルの中でSchema::create()を使ってテーブルを作成します。そのときに$table->string()$table->integer()などを使って、カラムのデータ型(タイプ)を指定します。


use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration {
    public function up(): void {
        Schema::create('users', function (Blueprint $table) {
            $table->id(); // 主キー
            $table->string('name'); // 文字列
            $table->integer('age'); // 整数
            $table->timestamps(); // 作成日・更新日
        });
    }

    public function down(): void {
        Schema::dropIfExists('users');
    }
};

このようにして、LaravelではPHPのコードでデータベースの構造を管理できます。SQLを直接書く必要がないので、初心者でも安心です。

2. よく使うカラムタイプ一覧と使い分け

2. よく使うカラムタイプ一覧と使い分け
2. よく使うカラムタイプ一覧と使い分け

それでは、Laravelでよく使うカラムタイプをひとつずつ見ていきましょう。どんなデータに使うべきかを例を交えて紹介します。

① string(文字列)

stringは、短い文字列(最大255文字)を保存するときに使います。ユーザー名やメールアドレスなどに最適です。


$table->string('email');

② text(長い文章)

textは、ブログの本文やコメントなどの長文を保存するときに使います。


$table->text('content');

③ integer(整数)

integerは、年齢や数量など、小数点を含まない数値を保存するときに使います。


$table->integer('age');

④ bigInteger(大きな整数)

bigIntegerは、通常の整数よりも大きな値を扱える型です。IDやカウンター値などに向いています。


$table->bigInteger('views');

⑤ boolean(真偽値)

booleanは、「はい・いいえ」「オン・オフ」などの状態を保存するときに使います。たとえば「会員登録済みかどうか」など。


$table->boolean('is_active');

⑥ date(年月日)

dateは、「2025-10-17」のような日付を扱います。誕生日やイベントの日付を保存するときに便利です。


$table->date('birthday');

⑦ datetime / timestamp(日時)

datetimetimestampは、「年月日+時刻」を保存します。データの登録日や更新日時を管理するのに使われます。


$table->timestamp('created_at');

⑧ float / double / decimal(小数)

floatdoubleは、小数点を含む数値を扱います。ただし、金額のように正確な数値が必要な場合はdecimalを使う方が安全です。


$table->decimal('price', 8, 2); // 例:999999.99まで保存可能

⑨ enum(選択肢)

enumは、特定の値の中から選ぶタイプのカラムです。たとえば「男性」「女性」「その他」のような選択肢を設定できます。


$table->enum('gender', ['male', 'female', 'other']);

⑩ json(JSONデータ)

jsonは、配列やオブジェクトのような構造化データを保存するのに使います。設定情報やオプションをまとめて保存する場合に便利です。


$table->json('settings');

3. カラムタイプを選ぶときのポイント

3. カラムタイプを選ぶときのポイント
3. カラムタイプを選ぶときのポイント

データ型を選ぶときは、保存したいデータの「性質」を考えることが大切です。たとえば:

  • ユーザー名やタイトル → string
  • プロフィールの本文 → text
  • 年齢や数量 → integer
  • 金額 → decimal
  • 日付や時刻 → date / datetime

データ型を正しく使い分けることで、データベースが効率よく動作し、アプリケーションも安定します。

4. まとめ:カラムタイプを理解してデータベースを正しく設計しよう

4. まとめ:カラムタイプを理解してデータベースを正しく設計しよう
4. まとめ:カラムタイプを理解してデータベースを正しく設計しよう

Laravelのマイグレーションで使うカラムタイプは、データの種類に合わせて選ぶことが重要です。最初は難しく感じるかもしれませんが、慣れてくると自然に判断できるようになります。

「文字か数値か」「日付か時間か」「選択式か」など、目的に応じて正しいタイプを使い分けるようにしましょう。

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelの認証状態をチェックする方法を完全解説!authとAuth::check()を初心者向けにやさしく説明
New2
CodeIgniter
CodeIgniterのコントローラクラスの作り方を完全ガイド!初心者でもわかる基礎から実践まで
New3
Symfony
Symfonyのフォームラベルを多言語対応!初心者でもわかる翻訳設定ガイド
New4
Laravel
Laravelでユーザー登録機能を作る方法!初心者向けにバリデーションとリダイレクトをやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.2
Java&Spring記事人気No2
Laravel
Laravelのビューとは?Bladeテンプレートの基本を解説
No.3
Java&Spring記事人気No3
Laravel
Laravelでセッションを扱う方法!保存方法と利用例を解説
No.4
Java&Spring記事人気No4
Laravel
Laravelのルート一覧を確認する方法!初心者でもわかるphp artisan route:listの使い方
No.5
Java&Spring記事人気No5
Laravel
Laravelでルーティングを設定する方法!web.phpと基本ルートの書き方を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
LaravelでルートをBladeテンプレートに記述する方法(route関数)
No.7
Java&Spring記事人気No7
Laravel
Laravelのルートキャッシュ機能を活用してパフォーマンス改善!初心者でもわかる完全ガイド
No.8
Java&Spring記事人気No8
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)