データベースの用語一覧へ
このページの目次

カラムとは?

読み方:カラム

最終更新:2026/08/18

3秒でわかる

テーブルの縦方向の並びで、名前とと制約を持つ 1 つの項目。行が 1 件のデータ、カラムがその中の 1 項目という関係です。

もう少し詳しく

どういうものか

テーブルを表として見たときの縦の並びがカラムです。1 つのカラムは 1 種類の項目を表し、名前と型 (INT や VARCHAR や DATE) を必ず持ちます。さらに NOT NULL や UNIQUE といった制約を付けられます。横方向の 1 本が 1 件のデータである行で、その中の 1 項目がカラムに対応します。ユーザーのテーブルなら id、name、email、created_at がそれぞれカラムです。

なぜ必要か

型と制約をカラムに宣言しておくと、おかしなデータがそもそも入りません。数値の列に文字を入れようとすれば拒否され、必須の列を空のまま登録しようとすればエラーになります。表計算ソフトなら見た目が揃っているだけで中身は何でも入りますが、データベースは列の定義でデータの形を守ります。この違いが、件数が増えたときの集計や検索の信頼性を分けます。

具体例

CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(255) NOT NULL UNIQUE, age INT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- 必要なカラムだけ選ぶ SELECT name, email FROM users WHERE age >= 20; -- 後からカラムを足す ALTER TABLE users ADD COLUMN phone VARCHAR(20);

つまずきやすいところ

  • 1 つのカラムにカンマ区切りで複数の値を詰めると、後で絞り込みも集計もできなくなります。複数持つものは別テーブルに分けます。

  • NULL と空文字は別物です。NULL は「値が無い」状態で、比較演算子では引っかからず IS NULL を使います。

  • SELECT * は書くのは楽ですが、カラムが増えたときに不要なデータまで転送され、列順に依存したコードが壊れます。名前を並べて書きます。

  • 既にデータが入っているテーブルに NOT NULL のカラムを足すと、既存行の値が決まらず失敗します。既定値を同時に指定します。

  • order や group のような予約語をカラム名にすると、クエリのたびに引用符で囲む必要が出ます。作る段階で避けるのが確実です。
  • 似た用語との違い

    用語指すもの
    カラム (列)表の縦の並び。1 項目の定義
    レコード (行)表の横の 1 本。1 件のデータ
    フィールド特定の行と列が交わる 1 つの値

    知識のつながり

    サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

    現在地カラムDB

    LEARN BY DOING

    この用語を、教材で使ってみる

    直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

    この用語を扱うコース

    コース

    SQL入門:データベース操作のきほん

    71レッスン
    コース

    DB設計入門 ER図・正規化・インデックス

    47レッスン
    コース

    SQL道場 図書館DBに挑む10問

    10レッスン
    SQL・データベースコースの全編を見る