毎日AM07:00確実更新

コピペで使えるSQLの基本操作:SELECT、JOIN、INSERT、UPDATE、DELETEの使い方

コピペで使えるSQLの基本操作:SELECT、JOIN、INSERT、UPDATE、DELETEの使い方
  • URLをコピーしました!

SQLはデータベース管理に欠かせないスキル。今回は、基本的なSQL操作であるSELECT、JOIN、INSERT、UPDATE、DELETEの使い方を、すぐにコピペで使える形式で解説する。

目次

SELECT文の基本

データベースからデータを取得するための基本的な操作がSELECT文。

SELECT
--    *
    カラム1
    ,カラム2
FROM
    テーブル名
WHERE
    1 = 1
    AND カラム1 = '条件1'
    AND カラム2 = '条件2'
;

メンテナンスがしやすく可読性の高いSQLの書き方についての解説

上記のSELECT文を例に、メンテナンスがしやすく可読性の高いSQLの書き方について解説していく。今回はSELECTで解説を行うが、NSERT、UPDATE、DELETEでも汎用的に使える考え方だ。

「– *」を記載する理由

コメントアウトされた「– *」は、すべてのカラムを選択する場合に使用。WHERE句で条件を指定することで、特定のデータを抽出する。当然各個別カラムはコメントアウトする。

SELECT
    *
--    カラム1
--    ,カラム2
FROM
    テーブル名
WHERE
    1 = 1
    AND カラム1 = '条件1'
    AND カラム2 = '条件2'
;

「1 = 1」を記載する理由

1 = 1を記載する理由は、WHERE条件をコメントアウトする際に、WHERE句をコメントアウトしなくても良いから。また、後から条件を追加しやすくするためでもある。例えば、動的にSQL文を生成する場合に、新しい条件を追加する際に、各条件の前にANDをつける必要がある。最初にWHERE 1 = 1を記載しておくことで、追加する条件すべてに対してANDをつけるだけで済むため、コードの可読性とメンテナンス性が向上する。

SELECT
--    *
    カラム1
    ,カラム2
FROM
    テーブル名
WHERE
    1 = 1
--    AND カラム1 = '条件1'
--    AND カラム2 = '条件2'
;

「,」や「AND」をカラムの前に記載する理由

SQL文では、「,」や「AND」を条件の後ろではなく前に記載することで、コメントアウトしやすくなる。これにより、複数の条件を追加する際に視覚的に区切りがつきやすくなり、コードを読むときに各条件が明確に区別できるため、可読性が向上する。

SELECT
--    *
    カラム1
--    ,カラム2
FROM
    テーブル名
WHERE
    1 = 1
--    AND カラム1 = '条件1'
    AND カラム2 = '条件2'
;

LEFT JOIN文の使い方

複数のテーブルから関連するデータを結合する場合に使用するのがJOIN文。LEFT JOINは、左側のテーブルのすべての行と、右側のテーブルの一致する行を結合する。

SELECT
    A.カラム1
    ,B.カラム2
FROM
    テーブルA A
LEFT JOIN
    テーブルB B
ON
    A.カラム3 = B.カラム3
    AND A.カラム4 = B.カラム4
WHERE
    1 = 1
    AND A.カラム1 = '条件1'
    AND B.カラム2 = '条件2'
;

この例では、テーブルAとテーブルBを指定されたカラムで結合し、条件に一致するデータを取得する。

JOINの種類

ここでは割愛するが、LEFT JOIN以外にもINNER JOIN・RIGHT JOIN・FULL OUTER JOINなどがあり、それぞれ結合する条件が異なる。詳しくは下記記事で詳しく解説をしている。

INSERT文の使い方

データベースに新しいデータを追加するにはINSERT文を使用する。

INSERT INTO
    テーブル名 (
        カラム1
        ,カラム2
    ) VALUES
    ('値1', '値2')
    ,('値3', '値4')
;

上記のようにVALUES句をカンマで区切ることにより、一度に複数の行を挿入することができる。1行だけ追加したい場合は7行目をコメントアウトすれば良いわけだ。

UPDATE文の使い方

既存のデータを更新するにはUPDATE文を使用する。

UPDATE
    テーブル名
SET
    カラム1 = '新しい値1'
    ,カラム2 = '新しい値2'
WHERE
    1 = 1
    AND カラム1 = '条件1'
    AND カラム2 = '条件2'
;

UPDATE文では、SET句で指定したカラムの値を変更し、WHERE句で条件を満たす行を更新する。

UPDATE文を使用する際には、WHERE句を忘れると全行が更新されるため、特に注意が必要。

DELETE文の使い方

データベースからデータを削除するにはDELETE文を使用する。

DELETE
--SELECT *
FROM
    テーブル名
WHERE
    1 = 1
    AND カラム1 = '条件1'
    AND カラム2 = '条件2'
;

DELETE文は、指定された条件に一致する行を削除する。条件を指定しないと、テーブル内のすべての行が削除されるため注意が必要。せ

安全な削除

DELETE文を実行する前に、削除対象の行を確認するためにSELECT文を使うと安全。

--DELETE
SELECT *
FROM
    テーブル名
WHERE
    1 = 1
    AND カラム1 = '条件1'
    AND カラム2 = '条件2'
;

まとめ

SQLの基本操作であるSELECT、JOIN、INSERT、UPDATE、DELETEの使い方を理解することで、データベースの管理と操作がスムーズに行える。

「– *」「1 = 1」の記載や、「,」や「AND」をカラムの前に記載することにより、メンテナンスがしやすく可読性の高いSQLを書くことができる。

コピペで使えるSQLの基本操作:SELECT、JOIN、INSERT、UPDATE、DELETEの使い方

この記事が気に入ったら

  • URLをコピーしました!
  • URLをコピーしました!
目次