【完全初心者向け】SQLとは?基本文法入門ガイド

データベース・SQL

「SQLって聞いたことがあるけど、何に使うの?」
「データベースって難しそう…どこから始めればいい?」

そんなプログラミング初心者の方に向けて、SQLの基本的な使い方をわかりやすく説明します。

この記事を読めば、SQLでデータを操作する基本的な方法がしっかり身につきます。

スポンサーリンク

SQLってなに?

SQLの説明

SQLとは、データベースに保存されている情報を操作するための言語です。

図書館で本を探すとき、「○○について書かれた本を探して」とお願いしますよね。
SQLも同じで、コンピューターに「こんな条件のデータを探して」「このデータを追加して」とお願いするための言語です。

SQLの特徴

  • データの検索、追加、更新、削除ができる
  • 世界中で使われている標準的な言語
  • 覚えやすい英語に近い文法
  • 多くのソフトウェアで使用されている

データベースとは

データベース 大量の情報を整理して保存する仕組み

例:会員管理システム

会員テーブル
┌────┬────────┬─────┬──────────┐
│ ID │ 名前     │ 年齢 │ 住所       │
├────┼────────┼─────┼──────────┤
│ 1  │ 田中太郎 │ 25   │ 東京都     │
│ 2  │ 佐藤花子 │ 30   │ 大阪府     │
│ 3  │ 山田次郎 │ 22   │ 神奈川県   │
└────┴────────┴─────┴──────────┘

SQLが使われる場面

ウェブサイト ユーザー情報や投稿データの管理

業務システム 売上データや在庫管理

データ分析 売上傾向や顧客分析

スマートフォンアプリ ユーザーの設定やデータ保存

SQLの基本操作

SQLでできる4つの基本操作

SQLでは、主に4つの操作ができます:

  1. SELECT(選択):データを探して表示
  2. INSERT(挿入):新しいデータを追加
  3. UPDATE(更新):既存のデータを変更
  4. DELETE(削除):不要なデータを削除

この4つを「CRUD」と呼ぶこともあります(Create, Read, Update, Delete)。

データを検索する(SELECT文)

基本的な検索

説明 テーブルからデータを取り出す最も基本的な方法です。

基本的な書き方

SELECT 列名 FROM テーブル名;

実際の例:全ての会員情報を表示

SELECT * FROM 会員;

実行結果

┌────┬────────┬─────┬──────────┐
│ ID │ 名前     │ 年齢 │ 住所       │
├────┼────────┼─────┼──────────┤
│ 1  │ 田中太郎 │ 25   │ 東京都     │
│ 2  │ 佐藤花子 │ 30   │ 大阪府     │
│ 3  │ 山田次郎 │ 22   │ 神奈川県   │
└────┴────────┴─────┴──────────┘

解説

  • SELECT:「選んで表示して」という意味
  • *:「すべての列」という意味
  • FROM 会員:「会員テーブルから」という意味

特定の列だけを表示

説明 必要な情報だけを表示することができます。

コード例

SELECT 名前, 年齢 FROM 会員;

実行結果

┌────────┬─────┐
│ 名前     │ 年齢 │
├────────┼─────┤
│ 田中太郎 │ 25   │
│ 佐藤花子 │ 30   │
│ 山田次郎 │ 22   │
└────────┴─────┘

条件を指定して検索(WHERE句)

説明 特定の条件に合うデータだけを表示できます。

コード例:25歳以上の会員を表示

SELECT * FROM 会員 WHERE 年齢 >= 25;

実行結果

┌────┬────────┬─────┬──────────┐
│ ID │ 名前     │ 年齢 │ 住所       │
├────┼────────┼─────┼──────────┤
│ 1  │ 田中太郎 │ 25   │ 東京都     │
│ 2  │ 佐藤花子 │ 30   │ 大阪府     │
└────┴────────┴─────┴──────────┘

よく使う条件

-- 等しい
SELECT * FROM 会員 WHERE 年齢 = 25;

-- より大きい
SELECT * FROM 会員 WHERE 年齢 > 25;

-- 以上
SELECT * FROM 会員 WHERE 年齢 >= 25;

-- 文字列の検索
SELECT * FROM 会員 WHERE 名前 = '田中太郎';

-- 複数の条件(AND)
SELECT * FROM 会員 WHERE 年齢 >= 25 AND 住所 = '東京都';

-- いずれかの条件(OR)
SELECT * FROM 会員 WHERE 年齢 = 25 OR 年齢 = 30;

データを追加する(INSERT文)

新しいデータの追加

説明 テーブルに新しい行(レコード)を追加します。

基本的な書き方

INSERT INTO テーブル名 (列名1, 列名2) VALUES (値1, 値2);

実際の例:新しい会員を追加

INSERT INTO 会員 (名前, 年齢, 住所) VALUES ('鈴木一郎', 28, '愛知県');

実行後のテーブル

┌────┬────────┬─────┬──────────┐
│ ID │ 名前     │ 年齢 │ 住所       │
├────┼────────┼─────┼──────────┤
│ 1  │ 田中太郎 │ 25   │ 東京都     │
│ 2  │ 佐藤花子 │ 30   │ 大阪府     │
│ 3  │ 山田次郎 │ 22   │ 神奈川県   │
│ 4  │ 鈴木一郎 │ 28   │ 愛知県     │
└────┴────────┴─────┴──────────┘

解説

  • INSERT INTO:「~に挿入する」という意味
  • (名前, 年齢, 住所):どの列にデータを入れるか指定
  • VALUES:「値は」という意味
  • ('鈴木一郎', 28, '愛知県'):実際に入れる値

複数のデータを一度に追加

説明 一度のコマンドで複数の行を追加できます。

コード例

INSERT INTO 会員 (名前, 年齢, 住所) VALUES 
('高橋美咲', 24, '福岡県'),
('小林健太', 35, '北海道'),
('渡辺優子', 29, '兵庫県');

データを更新する(UPDATE文)

既存データの変更

説明 すでに存在するデータの内容を変更します。

基本的な書き方

UPDATE テーブル名 SET 列名 = 新しい値 WHERE 条件;

実際の例:田中太郎の年齢を26に変更

UPDATE 会員 SET 年齢 = 26 WHERE 名前 = '田中太郎';

実行後のテーブル

┌────┬────────┬─────┬──────────┐
│ ID │ 名前     │ 年齢 │ 住所       │
├────┼────────┼─────┼──────────┤
│ 1  │ 田中太郎 │ 26   │ 東京都     │ ← 変更された
│ 2  │ 佐藤花子 │ 30   │ 大阪府     │
│ 3  │ 山田次郎 │ 22   │ 神奈川県   │
└────┴────────┴─────┴──────────┘

複数の列を同時に更新

UPDATE 会員 SET 年齢 = 27, 住所 = '千葉県' WHERE 名前 = '田中太郎';

注意点 WHERE句を忘れると、全ての行が変更されてしまいます!

データを削除する(DELETE文)

不要なデータの削除

説明 条件に合うデータを削除します。

基本的な書き方

DELETE FROM テーブル名 WHERE 条件;

実際の例:山田次郎のデータを削除

DELETE FROM 会員 WHERE 名前 = '山田次郎';

実行後のテーブル

┌────┬────────┬─────┬──────────┐
│ ID │ 名前     │ 年齢 │ 住所       │
├────┼────────┼─────┼──────────┤
│ 1  │ 田中太郎 │ 26   │ 東京都     │
│ 2  │ 佐藤花子 │ 30   │ 大阪府     │
└────┴────────┴─────┴──────────┘

複数の条件で削除

DELETE FROM 会員 WHERE 年齢 < 25 AND 住所 = '神奈川県';

重要な注意点

  • WHERE句を忘れると、全てのデータが削除されます
  • 削除したデータは復元できません
  • 実行前に必ずSELECTで確認しましょう

データを並べ替える(ORDER BY)

昇順・降順での並べ替え

説明 検索結果を特定の順序で表示できます。

年齢の若い順に並べる(昇順)

SELECT * FROM 会員 ORDER BY 年齢;

実行結果

┌────┬────────┬─────┬──────────┐
│ ID │ 名前     │ 年齢 │ 住所       │
├────┼────────┼─────┼──────────┤
│ 3  │ 山田次郎 │ 22   │ 神奈川県   │
│ 1  │ 田中太郎 │ 25   │ 東京都     │
│ 2  │ 佐藤花子 │ 30   │ 大阪府     │
└────┴────────┴─────┴──────────┘

年齢の高い順に並べる(降順)

SELECT * FROM 会員 ORDER BY 年齢 DESC;

複数の列で並べ替え

SELECT * FROM 会員 ORDER BY 住所, 年齢 DESC;

データを集計する

件数を数える(COUNT)

説明 条件に合うデータの件数を数えます。

全会員数を数える

SELECT COUNT(*) FROM 会員;

実行結果

┌──────────┐
│ COUNT(*) │
├──────────┤
│ 3        │
└──────────┘

25歳以上の会員数

SELECT COUNT(*) FROM 会員 WHERE 年齢 >= 25;

合計・平均を計算する

年齢の合計

SELECT SUM(年齢) FROM 会員;

年齢の平均

SELECT AVG(年齢) FROM 会員;

最高年齢・最低年齢

SELECT MAX(年齢), MIN(年齢) FROM 会員;

グループごとの集計(GROUP BY)

説明 住所ごとに会員数を集計してみましょう。

コード例

SELECT 住所, COUNT(*) FROM 会員 GROUP BY 住所;

実行結果

┌──────────┬──────────┐
│ 住所       │ COUNT(*) │
├──────────┼──────────┤
│ 東京都     │ 1        │
│ 大阪府     │ 1        │
│ 神奈川県   │ 1        │
└──────────┴──────────┘

実際に練習してみよう

練習用のサンプルデータ

商品テーブル

CREATE TABLE 商品 (
    商品ID INT,
    商品名 VARCHAR(100),
    価格 INT,
    カテゴリ VARCHAR(50)
);

INSERT INTO 商品 VALUES
(1, 'ノートパソコン', 80000, '電子機器'),
(2, 'マウス', 2000, '電子機器'),
(3, 'ボールペン', 100, '文房具'),
(4, 'ノート', 200, '文房具'),
(5, 'スマートフォン', 50000, '電子機器');

練習問題

問題1:全ての商品を表示してください

SELECT * FROM 商品;

問題2:電子機器カテゴリの商品だけを表示してください

SELECT * FROM 商品 WHERE カテゴリ = '電子機器';

問題3:価格が10000円以下の商品を安い順に表示してください

SELECT * FROM 商品 WHERE 価格 <= 10000 ORDER BY 価格;

問題4:カテゴリごとの商品数を表示してください

SELECT カテゴリ, COUNT(*) FROM 商品 GROUP BY カテゴリ;

SQLを学習するときのコツ

実際に手を動かす

おすすめの練習環境

  • SQLiteオンライン:ブラウザで練習可能
  • MySQL Workbench:本格的な開発環境
  • phpMyAdmin:ウェブベースのツール

エラーを恐れない

よくあるエラー

  • スペルミス:SLEECT(正しくはSELECT
  • セミコロン忘れ:文の最後に;をつける
  • 引用符の間違い:文字列は'で囲む

読みやすいコードを書く

良い例

SELECT 名前, 年齢, 住所
FROM 会員
WHERE 年齢 >= 25
ORDER BY 年齢 DESC;

避けたい例

select名前,年齢,住所from会員where年齢>=25order by年齢desc;

段階的に学習する

学習の順序

  1. 基本4操作:SELECT, INSERT, UPDATE, DELETE
  2. 条件指定:WHERE句の使い方
  3. 並べ替え:ORDER BY
  4. 集計:COUNT, SUM, AVGなど
  5. グループ化:GROUP BY
  6. テーブル結合:JOIN(上級者向け)

よくある質問と答え

Q. SQLと他のプログラミング言語の違いは何ですか? A. SQLはデータベース専用の言語で、データの操作に特化しています。PythonやJavaは汎用的なプログラミング言語です。

Q. SQLを覚えるとどんな仕事ができますか? A. データ分析、ウェブ開発、システム管理など、多くの分野で活用できます。

Q. どのくらい勉強すれば使えるようになりますか? A. 基本操作なら1〜2週間、実務レベルなら数ヶ月の学習が目安です。

Q. SQLのバージョンや種類はありますか? A. MySQL、PostgreSQL、SQLiteなど様々な種類がありますが、基本的な構文はほぼ同じです。

まとめ:SQLでデータを自由自在に操ろう

SQLを覚えれば、データベースに保存された情報を自由に操作できるようになります。

今日覚えたこと

  • SELECTSELECT * FROM テーブル名 でデータを検索
  • INSERTINSERT INTO テーブル名 VALUES (値) でデータを追加
  • UPDATEUPDATE テーブル名 SET 列名 = 値 WHERE 条件 でデータを更新
  • DELETEDELETE FROM テーブル名 WHERE 条件 でデータを削除

最初は基本的なSELECT文から始めましょう。慣れてきたら、条件指定や集計機能も使ってみてください。

コメント

タイトルとURLをコピーしました