LoginSignup
1

More than 3 years have passed since last update.

【SQL】データ操作:検索などの処理内容を指定する方法(SELECT, INSERT, UPDATE, DELETE)

Last updated at Posted at 2019-10-22

はじめに

SQLはデータベースを操作するためのプログラムです。
プログラムをどのように分解するかは賛否あると思いますが、
ここでは以下の4つに分類して基本の構文をまとめます。

このページでは処理内容の基本構文をまとめます。
処理内容には「検索」「挿入」「更新」「削除」の4つがあります。

例として、年別の会員名簿(こんなデータの持ち方イケてないですけど)とステータスの区分を表す
合計3テーブルが存在するとして、各SQLの動きを解説します。

1年目会員名簿(MEMBER_LIST_1ST)

ID FAMIRY_NAME FIRST_NAME BIRTH_DAY GENDER STATUS_ID NOTE
0001 鈴木 太郎 1980/10/25 M 1
0002 山田 太郎 1981/3/1 M 1
0003 佐藤 長次郎 1980/4/2 M 1
0004 鈴木 定子 1980/8/2 F 1

2年目会員名簿(MEMBER_LIST_2ND)

ID FAMIRY_NAME FIRST_NAME BIRTH_DAY GENDER STATUS_ID NOTE
0001 鈴木 太郎 1980/10/25 M 1
0002 山田 太郎 1981/3/1 M 2
0003 佐藤 長次郎 1980/4/2 M 1
0004 鈴木 定子 1980/8/2 F 1
0005 鈴本 花子 1980/12/14 F 1

ステータス区分(STATUS_DIV)

STATUS_ID STATUS_TEXT
1 正規会員
2 退会

検索(SELECT)

SELECT
SELECT *  FROM STATUS_DIV

ステータス区分テーブルに存在するすべてのデータが取得できます

STATUS_ID STATUS_TEXT
1 正規会員
2 退会

挿入(INSERT INTO)

insert_set_values
INSERT INTO STATUS_DIV(STATUS_ID, STATUS_TEXT) VALUES (3, '休止')

ステータス区分テーブルにレコードが一つ追加されます

STATUS_ID STATUS_TEXT
1 正規会員
2 退会
3 休止
insert_from_table
INSERT INTO MEMBER_LIST_1ST select * FROM MEMBER_LIST_2ND WHERE ID = '0005"

1年目会員名簿に、2年目会員名簿でIDが'0005'のレコードが追加されます

ID FAMIRY_NAME FIRST_NAME BIRTH_DAY GENDER STATUS_ID NOTE
0001 鈴木 太郎 1980/10/25 M 1
0002 山田 太郎 1981/3/1 M 1
0003 佐藤 長次郎 1980/4/2 M 1
0004 鈴木 定子 1980/8/2 F 1
0005 鈴本 花子 1980/12/14 F 1

更新(UPDATE)

update
UPDATE MEMBER_LIST_2ND SET STATUS_ID = '2' WHERE ID = '0001'

2年目会員名簿でIDが'0001'のレコードSTATUS_IDが更新されます

ID FAMIRY_NAME FIRST_NAME BIRTH_DAY GENDER STATUS_ID NOTE
0001 鈴木 太郎 1980/10/25 M 2
0002 山田 太郎 1981/3/1 M 2
0003 佐藤 長次郎 1980/4/2 M 1
0004 鈴木 定子 1980/8/2 F 1
0005 鈴本 花子 1980/12/14 F 1

削除(DELETE)

delete
DELETE FROM MEMBER_LIST_2ND WHERE ID = '0002'

2年目会員名簿でIDが'0002'のレコードが削除されます。

ID FAMIRY_NAME FIRST_NAME BIRTH_DAY GENDER STATUS_ID NOTE
0001 鈴木 太郎 1980/10/25 M 2
0003 佐藤 長次郎 1980/4/2 M 1
0004 鈴木 定子 1980/8/2 F 1
0005 鈴本 花子 1980/12/14 F 1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1