一覧へ

SQLの基礎 — CREATE、SELECT、INSERT、UPDATE、DELETE

SQLの主要な5つのコマンド(CREATE、SELECT、INSERT、UPDATE、DELETE)を実際の例とともに学びます。

入門
|
8
|
検証済み (2026-07)
進捗0/55 (0%)

SQLの基礎 — CREATE、SELECT、INSERT、UPDATE、DELETE

このトピックを終えると

SQLを使ってテーブルを作成し、データを挿入、検索、修正、削除できるようになります。


SQLとは

SQL(Structured Query Language)は、データベースに問い合わせるための言語です。「プログラミング言語」とは少し異なります。繰り返し処理や関数ではなく、**「このようなデータを取得して」**と要求する宣言的な言語です。

SQLは、MySQL、PostgreSQL、SQLiteなど、ほとんどのリレーショナルデータベースで使用されます。構文はほぼ同じなので、一つを学べば他のものも使えるようになります。


CREATE TABLE — テーブルの作成

sql
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(100) NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
キーワード意味
INT整数
VARCHAR(50)最大50文字の文字列
AUTO_INCREMENT自動増分(1、2、3、...)
PRIMARY KEYこの行の一意の識別子
NOT NULL空の値は許可しない
DEFAULT値が指定されていない場合に使用する値

テーブルは、データの設計図です。一度作成すると、その構造に合ったデータのみを挿入できます。


INSERT — データの挿入

sql
-- 1行を追加
INSERT INTO users (name, email) VALUES ('キム・フン', 'hoon@example.com');

-- 複数の行を一度に追加
INSERT INTO users (name, email) VALUES
  ('イ・ス', 'su@example.com'),
  ('パク・ジン', 'jin@example.com');

idcreated_atは指定していませんが、AUTO_INCREMENTDEFAULTのおかげで自動的に入力されます。


SELECT — データの読み取り

sql
-- 全件取得
SELECT * FROM users;

-- 特定の列のみ
SELECT name, email FROM users;

-- 条件による検索
SELECT * FROM users WHERE name = 'キム・フン';

-- 部分一致検索
SELECT * FROM users WHERE email LIKE '%@naver.com';

-- ソート
SELECT * FROM users ORDER BY created_at DESC;

-- 件数制限
SELECT * FROM users ORDER BY id DESC LIMIT 10;

SELECTはSQLで最もよく使用されるコマンドです。WHEREで条件を設定し、ORDER BYでソートし、LIMITで件数を制限します。

*は「すべての列」を意味します。便利ですが、実際には必要な列のみを明示することが推奨されます。不要なデータ転送を減らすためです。


UPDATE — データの修正

sql
-- 特定のユーザーのメールアドレスを変更
UPDATE users SET email = 'new@example.com' WHERE id = 1;

-- 複数の列を同時に修正
UPDATE users SET name = 'キム・フン2', email = 'hoon2@example.com' WHERE id = 1;

注意: WHERE句を省略すると、すべての行が修正されます。これは、誤って起こりうる最も危険な状況の一つです。

sql
-- これを実行すると、すべてのユーザーのメールアドレスが変更される!
UPDATE users SET email = 'oops@example.com';

DELETE — データの削除

sql
-- 特定の行を削除
DELETE FROM users WHERE id = 3;

-- 条件に一致する複数の行を削除
DELETE FROM users WHERE created_at < '2025-01-01';

UPDATEと同様に、WHEREを省略して実行すると、テーブル全体が空になります。復元できません。

sql
-- 全件削除 — 復元不可能!
DELETE FROM users;

コマンドのまとめ

コマンド目的リスク
CREATE TABLEテーブル構造の定義
INSERT新しいデータの追加
SELECTデータの取得なし(読み取りのみ)
UPDATE既存のデータの修正⚠️ WHERE必須
DELETEデータの削除⚠️ WHERE必須

SQLを最初に学ぶときに覚えておくこと:SELECTは安全で、UPDATE/DELETEはWHEREがないと大惨事になる。


💬 質問・コメント

0件のコメント

ログインせずに投稿できます。ゲスト投稿は投稿者自身で編集・削除できません。

0/2000

読み込み中...