目次
- ここで学ぶこと
- 内容
- テーブル作成の基礎
- テーブルの変更・削除
- データ操作(DML)
- トランザクションの基本
- まとめ
ここで学ぶこと
- テーブルを定義し、データを追加・更新・削除できるようになる
- 主キーや制約の意味を理解し、安全にデータを操作できるようになる
内容
1. テーブル作成の基礎
データベース内では、情報は**テーブル(表)**の形で管理されます。
テーブルを作るためには、まず「どんな項目を持たせるか」「どの型で保存するか」を定義します。
基本構文
CREATE TABLE テーブル名 (
カラム名1 データ型 [制約],
カラム名2 データ型 [制約],
...
);
例:社員テーブルを作成
CREATE TABLE employees (
employee_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
department_id INT,
hire_date DATE,
salary INT DEFAULT 0
);
主なデータ型
| 型名 | 内容 | 例 |
|---|---|---|
| INT | 整数値 | 100, -25 |
| VARCHAR(n) | 文字列(最大n文字) | 'Tanaka' |
| DATE | 日付(YYYY-MM-DD) | '2024-01-01' |
| DECIMAL(p,s) | 少数(精度p, 小数s) | 1234.56 |
主な制約
| 制約名 | 説明 |
|---|---|
| PRIMARY KEY | 一意の値を持つ主キー |
| NOT NULL | 値を必ず入れる |
| UNIQUE | 重複を禁止する |
| DEFAULT | 値が未指定の場合の初期値 |
| AUTO_INCREMENT | 連番を自動採番 |
ポイント:主キー(PRIMARY KEY)はテーブルごとに1つが基本。
社員IDや商品IDなど、データを一意に特定するカラムを指定します。
2. テーブルの変更・削除
既存のテーブル構造を変更する場合は ALTER TABLE を使用します。
列を追加
ALTER TABLE employees ADD COLUMN email VARCHAR(100);
列を削除
ALTER TABLE employees DROP COLUMN email;
テーブル削除
DROP TABLE employees;
注意:DROP TABLE は取り消せません。削除前にバックアップを取りましょう。
3. データ操作(DML)
テーブルができたら、データを登録・更新・削除します。
データを追加(INSERT)
INSERT INTO employees (name, department_id, hire_date, salary)
VALUES ('田中太郎', 101, '2023-04-01', 300000);
複数行を一度に登録することもできます:
INSERT INTO employees (name, department_id, hire_date, salary)
VALUES
('鈴木花子', 102, '2024-01-15', 280000),
('佐藤健', 101, '2023-07-01', 320000);
データを更新(UPDATE)
UPDATE employees
SET salary = 350000
WHERE employee_id = 1;
データを削除(DELETE)
DELETE FROM employees
WHERE employee_id = 2;
WHERE句なしのDELETEは全件削除になります。必ず条件を指定しましょう。
4. トランザクションの基本
データ操作は時に失敗します。誤って更新・削除してしまった場合でも戻せるようにする仕組みがトランザクションです。
トランザクションの操作
START TRANSACTION; -- 開始
UPDATE employees SET salary = 0; -- 誤操作
ROLLBACK; -- 取り消し
COMMIT; -- 確定
トランザクションを使うと、複数の操作をまとめて「成功」または「失敗」で扱えます。
これにより、データの整合性を保ちながら安全に操作できます。
まとめ
- CREATE TABLE でデータ構造を定義する。カラムの型と制約が正しい設計の基礎。
-
INSERT / UPDATE / DELETE はデータ操作の3本柱。
WHERE句を忘れると全件対象になる。 - ALTER / DROP は構造変更・削除。取り消せない操作なので注意が必要。
- トランザクションにより、安全で信頼できるデータ操作を実現できる。