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);