SQLの書き方をわかりやすく解説!超初心者がデータベース丸わかり

この記事では、SQLの書き方をわかりやすく解説します。

SQLの書き方を覚えたいが難しい……
SQLとデータベースをマスターしたい!

SQLの書き方を習得したいけど、ほかの言語と比べ難しいのでは、と不安を感じる方もいるのではないでしょうか。

この記事では、SQLの書き方を初心者向けにわかりやすく解説します。

データベースとの関係や、SELECT文・INSERT文の書き方をサンプルコードつきで説明するので、最後まで読めばSQLを使いこなせるようになるでしょう。

この記事の要約
  • SQLはデータベース定義やデータの操作を行うための言語
  • マスターするためには基本処理であるCRUDから理解しよう
  • エラーが発生したときはエラーコードを確認・調査すれば解決しやすい
目次

SQLの書き方を覚えるには?

SQLの書き方を覚えるには

SQLの書き方を覚えるには、基礎知識を押さえる必要があります。

SQLの基礎知識は下記の3つです。

  • SQLはデータベース言語である
  • SQLの基本操作はCRUDと呼ばれる
  • SQLの動きは?Excelでイメージできる 

それぞれ詳しく解説します。

SQLはデータベース言語である

SQLはプログラミング言語ではなく、データベース言語です。データベース言語とは、データの定義、操作、アクセス制御など、データベースを操作するための言語です。

SQLの書き方をマスターすれば、データの一括操作や、必要なデータの抽出ができるようになります。

なお、IT企業への転職や副業での収入獲得を見据え、独学でSQLのスキルを習得できるか不安な人は「侍エンジニア」をお試しください。

侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。

「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。

\ 給付金で受講料が最大80%OFF /

SQLの基本操作はCRUDと呼ばれる

SQLで使うCRUDとは

SQLで使う4つの基本操作はCRUD(クラッド)と呼ばれます。

CRUDとは、データベースに、新たにデータを追加するCreate(生成)、データを取得するRead(読取り)、データベースに存在するデータを更新するUpdata(更新)、データを削除するDelete(削除)の頭文字をとった言葉です。

CRUDの理解は、SQLの書き方をマスターするための第一歩です。

SQLのデータ処理はExcelでイメージできる

SQLを用いたデータ処理はExcelをイメージすればわかりやすいです。

Excelのシートにたくさんの行が存在するとき、「フィルタ機能」で条件を指定すると、その条件に合致した行のみが選択されます。これは、SQLのRead(読取り)に該当します。

また、フィルタ機能で条件に合致した行のデータを更新する処理はSQL文のUPDATE、削除はDELETEと同じような処理です。さらに、Excelで新しい行を追加するのはCreateと考えるとわかりやすいでしょう。

データベースの基礎

SQL構文をスムーズに習得するため、データベースを理解しましょう。

データベースの構造と種類、初心者向けのデータベースを紹介します。

データベースの構造

SQLで操作するデータベースは、下の図のような構造でできています。

データベース構造のイメージ

データベースの中に複数のテーブルがあり、テーブルには1行(1レコード)ずつデータがあります。

SQLによるデータベースの操作手順は、下記のとおりです。

  • 1.データベースの環境を作る
  • 2.テーブルを作る
  • 3.SQLでデータを取得する

データベースの種類

ここで、あらためてデータベースについてご紹介しておきます。データベースは、いくつか種類があります。

データベースの種類

「どれを選べばいいの?」と思う方もいるかもしれませんが、初めてデータベースを使うならMySQLがおすすめです。

無料で使えますし、何より、環境構築が簡単です。また、インターネットの情報が多いので、エラーの解決法を見つけやすいというメリットがあります。

データベースの種類についてはこちらでも詳しく解説しています。もっと詳しく知りたい方は、併せてご覧ください。

初心者も5分でわかる!データベースの種類をわかりやすく解説
更新日:2024年4月29日

SQL基礎構文6つの書き方

SQL入門者が習得すべき基礎構文は下表のとおりです。

SQLで覚えておきたい基礎構文

  • SELECT文

    データベースからデータを取り出すための構文

  • INSERT文

    データベースにデータを登録するための構文

  • UPDATE文

    データベースの情報を更新するための構文

  • DELETE文

    データベースのデータを削除するための構文

  • AS句

    テーブルや列を別の名前に変更するための構文

  • ORDER BY

    SELECTの結果を並び替えるための構文

ひとつずつ、書き方を詳しく解説します。

【SQLの基礎構文】SELECT文の書き方

SQLのSELECT文はデータベースからデータを取り出すための構文です。

SELECT文の書き方は、以下のとおりです。

SELECT文の書き方

SELECTの直後は、結果に表示する列名を指定します。

ここにアスタリスク(*)を入れると、すべてを表示できます。FROMはテーブル名で、WHEREは条件式です。

条件がないときはWHEREが不要になりますが、セットで覚えておくのがおすすめです。

なお、IT企業への転職や副業での収入獲得を見据え、独学でSQLのスキルを習得できるか不安な人は「侍エンジニア」をお試しください。

侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。

「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。

\ 給付金で受講料が最大80%OFF /

SELECT文のサンプルコード

下記のテーブルを参考に、SELECT文のサンプルを見てみましょう。

SELECT文のサンプル

SQLで、すべての行のデータを取得するときは下記のとおりに記述します。

-- SELECT文でレコード検索
SELECT * FROM   users_list;

年齢が25歳以上のユーザーのIDと名前を取得するときはこのようになります。

-- SELECT文でレコード検索
SELECT
  id,
  name
FROM
  users_list
WHERE
  age >= 25;

【SQLの基礎構文】INSERT文の書き方

INSERT文はデータベースにデータを登録するための構文です。

SQLの基礎構文、INSERT文の書き方は、下記のとおりです。

INSERT文の書き方

INSERT INTO句の後に、テーブル名と新規登録する行の列名を指定します。ここで指定されなかった列については何も登録されていないことを示す「NULL」が設定されます。

また、列名の部分は省略可能です。その後、VALUESという定型の語句に続いて、新規登録する行の値を指定します。

INSERT INTO句で指定した列名の数とVALUES句で指定した値の数は一致していないとエラーになるので注意しましょう。

INSERT文のサンプルコード

つづいてSQLのINSERT文のサンプルをご紹介します。SELECTで使用したusers_listテーブルにデータを登録してみましょう。

列名をすべて指定した場合のINSERT文のサンプルです。

-- INSERT文でレコード挿入(カラム全指定)
INSERT 
INTO users_list(id, name, age, created_at, updated_at) 
VALUES (1, '侍1', 18, '2019/7/1', '2019/7/26');

列名を省略した場合のINSERT文のサンプルです。

-- INSERT文でレコード挿入(カラム省略)
INSERT 
INTO users_list
VALUES (1, '侍1', 18, '2019/7/1', '2019/7/26');

なお、INSERT文の使い方を詳しく知りたい方は、併せて以下の記事をご覧ください。

【MySQL入門】INSERT文を使いこなす!基本からSELECT句まで一挙紹介
更新日:2024年5月6日

【SQLの基礎構文】UPDATE文の書き方

SQLのUPDATE文はデータベースの情報を更新するための構文

SQLのUPDATE文の書き方は、以下のとおりです。

UPDATE文の書き方

UPDATE句の次にテーブル名、SET句の次に列名とその列に設定する値を指定します。列名および値は複数指定できます。

条件に一致するものを一括で更新する場合はWHERE句を使いましょう。なお、WHERE句は省略可能です。省略した場合はすべての行が更新対象となるので注意してください。

UPDATE文のサンプルコード

つづいて、SQLのUPDATE文のサンプルをご紹介します。SELECTで使用したusers_listテーブルにデータを更新してみましょう。

-- idが5の行の名前を「侍5 New」、年齢を「29」に更新する
UPDATE users_list 
SET
    name = '侍5 New'
    , age = 29 
WHERE
    id = 5;

UPDATE文については、こちらの記事でも詳しく説明していますので、ぜひお読みください。

【SQL】これで完璧!UPDATE文の重要テクニックを一覧まとめ
更新日:2024年5月6日

【SQLの基礎】DELETE文の書き方

SQLのDELETE文はデータベースのデータを削除するための構文です。

SQLのDELETE文の書き方は、以下のとおりです。

DELETE文の書き方

DELETE FROM句の後にテーブル名を指定します。WHERE句を指定すると、条件に合致したものを削除できます。

UPDATE文と同様WHERE句は省略可能です。WHERE句を指定しないと、すべての行が削除されることになります。こちらも必要なデータを誤って削除しないように注意しましょう。

DELETE文のサンプルコード

DELETE文のサンプルは下記のとおりです。

-- idが5の行を削除する
DELETE 
FROM
    users_list 
WHERE
    id = 5;

SQLのプログラミングで、DELETEを使ってデータを削除する方法について、以下の記事で詳しく解説しています。

【SQL】1分でわかるDELETEでのデータ削除方法!安全に削除するには?
更新日:2024年5月6日

【SQLの基礎構文】AS句の書き方

パソコン
ASの書き方

続いて、SQL文で利用する「AS」の書き方をご説明します。

AS句を使用すると、テーブル名や列名に別の名前を指定できます。まずはサンプルを見てみましょう。

AS句のサンプルコード

-- SELECT文でレコード検索
SELECT
  id AS ID,
  name AS 名前
FROM
  users_list
WHERE
  age >= 25;

users_listの列名は「id」や「name」ですが、AS句を使用することで「ID」や「名前」というようにテーブルに存在しない名前で結果を取得できます。

AS句は複数のテーブルを一気に取得する場合、同名の行名などを区別するために使用します。

【SQLの基礎構文】ORDER BYの書き方

ORDER BYの書き方

続いて、ORDER BYの書き方をご説明します。

ORDER BYを使用すると、SELECTの結果を並び替えることが可能です。ORDER BY句は複数の並べ替え条件を指定できます。

ORDER BY句を指定しない場合、SELECT結果が不定となります。複数の結果を取得する可能性がある場合は、ORDER BYを指定する習慣をつけておきましょう。

下記はSELECT結果をidの昇順で取得するサンプルです。

ORDER BYのサンプルコード

-- SELECTした結果をidの昇順で取得
SELECT
  id,
  name
FROM
  users_list
ORDER BY
  id ASC;

下記はSELECT結果を、ageの降順、idの昇順で取得するサンプルです。

-- SELECTした結果をageの降順、idの昇順で取得
SELECT
  id,
  name
FROM
  users_list
ORDER BY
  age DESC, id ASC;

「*」「;」「’」記号の意味と使い方

「*」「;」「’」などの記号の意味

SQLでは、いくつかの記号を使用します。

主な記号の意味と使い方は下記のとおりです。

  • 「*」(アスタリスク):すべて/すべてを選択するときに使う
  • 「;」(セミコロン):文の終わり/SQL文を終わりにするときに使う
  • 「’」(シングルコーテーション):指定/文や句で条件を指定するときに使う

記号のサンプルコードは下記のとおりです。

-- SELECT文でレコード検索
SELECT
  id,
  name
FROM
  users_list;
WHERE
  -- 年齢は数値なので「’」不要。名前は文字列なので値を「’」で囲む
  age >= 25 OR name = ‘侍1’

SQLのDDLとDMLの書き方

SQLの基礎

SQLのDDLは「データ定義言語」、DMLは「データ操作言語」と呼ばれます。

次に、SQLのDDLとDMLついて説明します。

DDL

DDLは、Data Definition Languageの略でデータを定義するSQL文です。

  • CREATE文:データベース・テーブルなどを作成する
  • ALTER文:テーブル内の定義を変更する
  • DROP文:データベース・テーブルを削除する

DML

DMLは、Data Manipulation Languageの略でデータを操作するSQL文です。

  • SELECT文:レコード検索
  • INSERT文:レコード挿入
  • UPDATE文:レコード更新
  • DELETE文:レコード削除

この記事でご紹介したものはDMLに属するSQL文です。

SQL入門者の方は、下記の順番で練習しましょう。

  1. 1.テーブルをCREATE文で作成
  2. 2.INSERT文でレコードを挿入
  3. 3.SELECT文でレコードを検索
  4. 4.UPDATE文でレコードを更新

SQLを簡単に実行する方法とは?

SQLを簡単に実行する方法

次に、SQLを実行する環境について解説します。

SQLを実行する方法は、下記の2つです。

  • Web版実行環境「paiza.io」を使う
  • パソコンに開発環境をセットアップする

paiza.io」を使えば、簡単にSQL実行環境を作れます。アカウント登録だけなので、すぐにSQLを試したい方におすすめです。

とはいえアプリ開発ではパソコンにセットアップしたデータベース環境を使うのが一般的です。いずれSQLを使いこなしたい!という方は、ある程度スキルを習得したのち、MySQLをインストールしてもいいでしょう。

MySQLのインストール方法は、以下の記事で詳しく解説しています。本格的にSQLを学びたい方は併せてご覧ください。

【Windows/Mac】MySQLのインストール~環境構築~接続【簡単】
更新日:2024年10月23日

SQLでエラーが発生した場合の対処法

エラーが発生した場合の対処法

SQLでエラーが発生したときは、まず、表示されるエラーコードを確認しましょう。

エラーコードは、SQL Server、MySQLなどといったご使用のデータベースによって異なります。

下記は、代表的なデータベースのエラーコード一覧です。

一覧を見ればエラーの内容と対処法を確認できます。

まとめ

SQLの書き方は、データベースの構造や基礎構文を理解すれば、スムーズに習得できます。

CREATE文、INSERT文、SELECT文など、サンプルコードを使って練習してみましょう。

ひとつずつ、覚えればSQLでデータベースを使いこなせるようになるはずです。

この記事のおさらい

SQLとは?

SQLとは、リレーショナルデータベースに対して、参照、登録、更新、削除などの操作をするために使用するデータベース言語です。

SQLの書き方は?

SQLの書き方には、参照、登録、更新、削除などといった命令の種類によって記述ルールがあります。それぞれ定型の部分と範囲指定や条件設定などにより変動する部分があるので、基本的な記述ルールから覚えましょう。

この記事の監修者

株式会社SAMURAI

中川 大輝

独学でプログラミング学習を始めるも挫折。プログラミングスクール「SAMURAI ENGINEER」を受講し、Web制作を学ぶ。副業でWeb制作を行いつつ、「初心者がプログラミングで挫折しないためのコンテンツ制作」をモットーにWebライターとして侍エンジニアブログ編集部に従事。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次