📗

SQLでのデータの追加・更新・削除(基礎)

2023/06/22に公開

SQLでのデータの追加・更新・削除

こんにちは!わいわわです!
今回はSQLのデータの追加や更新、削除に関しまして
progateさんのカリキュラムを学習しましたのでまとめます。
今までは抽出がほとんどでしたが、今回はより実務に近づきます。
基礎的な内容ですが、頑張っていきます!

前提のテーブル、カラム

テーブルやカラムが作成されている状態で、今回は進めていきます。
・テーブル studentsテーブル
・カラム id、name、courseカラム
プログラミングスクールを想定していただいて、
受講生名とカリキュラム名が格納されているといったイメージですね!

データの追加

新しいデータを追加したい場合は
INSERTを使用します。
「挿入する」という意味ですね!

多くの場合、idカラムにはAUTO INCREMENTという機能が使われます。
AUTO INCREMENTとは「自動で増加する」といった意味で、
データが作成されるときに自動で値が割り当てられます。
様々な制約は、以前にこちらでまとめました!
https://zenn.dev/waiwawaiwai/articles/f95829d2e2064b

割り振られるため、idに関しては追加する際に定義がいらないんですね。
INSERTを使用したクエリの例文を見てみます。

INSERT INTO students(name,course)
VALUES("Kate","java");

INSERT INTOの後にテーブル名とカラム名を指定し、
VALUESの後ろに追加したいカラムのデータを入れていく感じですね。
今回ではnameカラムにkate、courseカラムにjavaが入ったレコードを追加しています!

データの更新

データを更新したいときにはUPDATEを使います。
複数変更したいカラムがある場合、コンマ(,)で区切ります。

例文を確認しましょう!

UPDATE students
SET name="Jordan",course="HTML"
WHERE id=6;

UPDATEの後ろにテーブル名を指定し、
SETの後ろに変更するカラムを記述しています。
また、WHEREで、nameをJordan、courseをHTMLに変更するレコードのidを指定しています。

WHEREで更新するレコードを指定しないとカラム内の全データが更新されてしまいます。
そのため、必ず指定するようにしましょう!
(今回の場合指定しないとすべてのレコードがJordanとHTMLになります)

また、UPDATE実行後はデータを戻すことができません。
実行前に一度SELECTを実行して、操作するデータを確認する習慣をつけましょう。

データの削除

レコードを削除するときはDELETEを使います。
UPDATEと同様にクエリ実行後はレコードを元に戻すことができないので、
SELECTでレコードを確認してから削除を行うことが大事です。

例文を見てみましょう!

DELETE FROM students
WHERE id=7;

DELETE FROMでテーブルを指定し、
WHEREで削除するレコードのidを指定しています。
削除の場合はカラム名の指定がいらないのでなんだか記述が短いですね。

データの更新と同様に、こちらもWHEREで削除するレコードを指定しないと
テーブル内の全レコードが削除されてしまいます。
超やばいので必ず指定しましょう!笑

まとめ(4つの構文)

最後に基本的な4つの構文(取得・挿入・更新・削除)をまとめます。
私自身も見直したい時はこの記事をのぞこうかなと思います!

取得

SELECT カラムA,カラムB
FROM テーブル名;

挿入

INSERT INTO テーブル名(カラムA,カラムB…)
VALUES (値1,値2…);

更新

UPDATE テーブル名
SET カラムA = 値1,カラムB = 値2
WHERE 条件;

削除

DELETE FROM テーブル名
WHERE 条件;

INSERTやUPDATE、DELETEはなんとなく覚えやすいですが
FROMやINTOの方が私はごっちゃになります、、

間違えのないように、更新と削除のWHEREは必ず指定しましょう!

所感

今回はSQL構文に関して、追加・更新・削除を学習しました。
progateさんのSQLカリキュラムはこれで終わりですね。
なにかSQL参考書を買うか、Oracle Masterなどに入るか迷います。
エンジニアとしてはSQLはずっと使い続けるものなので、マスターを目指して頑張ります!

Discussion