今回のテーマ
こんにちは、かっぱちゃんです。
今回はレコードの追加、更新、削除方法について学んでいきましょう!!
前回の記事です。
こちらもCHECK
-
-
SQL Server ポケモンのデータで学ぶSQL GROUP BY句を使ってみよう3。グループを条件で絞り込む方法と処理順序について。
今回のテーマContents1 今回のテーマ2 HAVING句の使い方3 WHERE句とHAVING句の処理の順序について4 まとめ こんにちは、かっぱちゃんです。 今回は下記の記事の続きです。前回の ...
続きを見る
ポケモンデータのダウンロードは下記の記事からお願いします。
こちらもCHECK
-
-
SQL Server ポケモンのデータで学ぶSQL データの準備編
今回のテーマContents1 今回のテーマ2 ポケモンデータのダウンロード3 Sql Server Management Studioでの設定4 ポケモンデータのテーブルについて5 各テーブルの属性 ...
続きを見る
今回はINSERT句、UPDATE句、DELETE句を使用します!
どれも使い方は簡単なので、どんどん学んでいきましょう!

レコードの追加方法(INSERT句)
まずはレコードの追加方法について学んでいきます。
このブログでは、今までPokemonテーブルしか使っていませんでしたが、
今回初めてplaceテーブルを使っていきます。
placeテーブルのテーブルをまず参照してみます!!
1 |
SELECT * FROM place |
出力結果
出身地番号 地名
1 マサラタウン
2 トキワシティ
3 ニビシティ
4 ハナダシティ
5 クチバシティ
6 シオンタウン
7 タマムシシティ
8 ヤマブキシティ
9 セキチクシティ
10 グレンタウン
11 ワカバタウン
12 キキョウシティ
13 ヒワダタウン
14 コガネシティ
15 エンジュシティ
16 アサギシティ
17 タンバシティ
18 チョウジタウン
19 フスベシティ
ある町を追加していません!!
わかりますか?それはここ!!
ヨシノタウンでした!!^^(セキエイこうげんは町と認めてません。)
なので、今回はとても地味な町、ヨシノタウンをPlaceテーブルに追加してあげましょう。

下記のクエリを実行してみましょう!!
1 2 3 4 |
--ヨシノタウンを挿入 INSERT INTO place (出身地番号,地名) VALUES(20,'ヨシノタウン') --挿入されたか結果を確認 SELECT * FROM place |
出力結果 出身地番号 地名 1 マサラタウン 2 トキワシティ 3 ニビシティ 4 ハナダシティ 5 クチバシティ 6 シオンタウン 7 タマムシシティ 8 ヤマブキシティ 9 セキチクシティ 10 グレンタウン 11 ワカバタウン 12 キキョウシティ 13 ヒワダタウン 14 コガネシティ 15 エンジュシティ 16 アサギシティ 17 タンバシティ 18 チョウジタウン 19 フスベシティ 20 ヨシノタウン
ヨシノタウンが追加されましたね!!
INSERT INTO テーブル名 (列名1,列名2・・・)
VALUES(列名1の値,列名2の値・・・)といった具合で挿入することが可能です!!
また、列名に関しては省略することも可能です!!
列名を指定せずに、町と認めていないセキエイこうげんを追加してみましょう!!
1 2 3 4 |
--セキエイこうげんを挿入 INSERT INTO place VALUES(21,'セキエイこうげん') --挿入されたか結果を確認 SELECT * FROM place |
出力結果 出身地番号 地名 1 マサラタウン 2 トキワシティ 3 ニビシティ 4 ハナダシティ 5 クチバシティ 6 シオンタウン 7 タマムシシティ 8 ヤマブキシティ 9 セキチクシティ 10 グレンタウン 11 ワカバタウン 12 キキョウシティ 13 ヒワダタウン 14 コガネシティ 15 エンジュシティ 16 アサギシティ 17 タンバシティ 18 チョウジタウン 19 フスベシティ 20 ヨシノタウン 21 セキエイこうげん
問題なく挿入されていますね^^
このテーブルでは項目が二つしかないため苦痛ではないのですが、
項目が多すぎると指定するのが苦痛になるので、省略した形もオススメです!!
C#のエンジニアであれば、絶対買ってほしい本2選
C#の初心者にオススメ!基本はこの本で抑えよう!
Linqの使い方が沢山載っている。中級者以上の方にオススメ!
レコードの更新方法(UPDATE句)
続けて更新方法です。今までポケモンデータを使ってブログを書いてきましたが、
大変なことに気づきました。
それは下記のクエリを実行した時です。
1 2 |
SELECT タイプ1,タイプ2 FROM Pokemon GROUP BY タイプ1,タイプ2 |
出力結果 タイプ1 タイプ2 あく NULL あく こおり あく ひこう あく ほのお いわ NULL いわ あく いわ じめん いわ ひこう いわ みず エスパー NULL エスパー ひこう エスパー フェアリー エスパー むし
あれ?エスパーとむしタイプって金銀世代まででいたっけなー?剣盾でいることはしってるが・・。
なので、次のクエリを実行してみると!??
1 2 |
SELECT ポケモン名 FROM Pokemon WHERE タイプ1 = 'エスパー' AND タイプ2 = 'むし' |
出力結果
ポケモン名
セレビィ
これはひどい!幻のポケモンセレビィ様をむし扱いしているデータでした!!!
早速、セレビィ様をエスパー、くさポケモンに直しましょう!!!
今回直す対象はセレビィ様のタイプ2をむし→くさに変更したいです。
それを表すクエリをみていきましょう!!
1 2 3 4 5 6 7 |
--セレビィのタイプ2をむしからくさに変更 UPDATE Pokemon SET タイプ2 = 'くさ' WHERE ポケモン名 = 'セレビィ' --セレビィのタイプ2が更新されているか確認 SELECT ポケモン名,タイプ1,タイプ2 FROM Pokemon WHERE ポケモン名 = 'セレビィ' |
出力結果
ポケモン名 タイプ1 タイプ2
セレビィ エスパー くさ
無事にセレビィのタイプがくさに変わりました^^災いが起きずに済みそうです!
UPDATE文は「UPDATE テーブル名 SET 列名 = 修正したい内容」で指定します。
更新対象のデータはWHERE句で指定します。←忘れるとまじで死ねる。
今回の場合、WHERE句なしで実行すると、全てのポケモンのタイプ2のタイプが「くさ」に変わります!!
恐ろしい・・・・!!
UPDATE句はWHERE句と一緒に使用することがほとんどなので、セットで覚えましょう!!

レコードの削除方法(DELETE句)
みなさん・・・。
やっぱ。色々考えたんだけど、セキエイこうげんは町じゃないよ・・・。
ということでセキエイこうげんを削除しましょう!!(セキエイこうげんを町と思っている方は削除しなくて構いません!!)
レコードの削除にはDELETE句を使用します。
クエリをみてみましょう!!
1 2 3 4 5 |
--セキエイこうげんを削除 DELETE FROM place WHERE 地名 = 'セキエイこうげん' --削除されているか確認 SELECT * FROM place |
出力結果
出身地番号 地名
1 マサラタウン
2 トキワシティ
3 ニビシティ
4 ハナダシティ
5 クチバシティ
6 シオンタウン
7 タマムシシティ
8 ヤマブキシティ
9 セキチクシティ
10 グレンタウン
11 ワカバタウン
12 キキョウシティ
13 ヒワダタウン
14 コガネシティ
15 エンジュシティ
16 アサギシティ
17 タンバシティ
18 チョウジタウン
19 フスベシティ
20 ヨシノタウン
セキエイこうげんが削除されましたね!!
DELETE句は「DELETE FROM テーブル名」で指定します。
削除したいレコードの対象をWHERE句で指定します。
UPDATE句と同様にWHERE句を忘れると全レコードが削除されて死ねます・・。
なので、WHERE句とセットで使いましょう!!
テーブル内の全レコードを削除する場合は??
テーブル内で全レコードを消したい時はSQL Serverの場合
「TRUNCATE TABLE テーブル名」
を使った方がいいです!DELETE文はあくまでもレコードを1つ1つ削除するのに対し、
TRUNCATE TABLEはテーブル内全てのレコードを一度に削除するので処理もとても早いです。
また、DELETE文だとログも1件1件吐き出すので容量圧迫の懸念もあるので、
テーブル内のレコードを全て削除する場合はTRUNCATE TABLEを使いましょう!!
まとめ
今回はレコードの挿入、更新、削除について学びました。
今回のレコードは本当によく使うので、必ず覚えてってくださいね!!
INSERT INTO テーブル名 VALUES (列名1の値,列名2の値) UPDATE テーブル名 SET 列名 = 更新したい値 WHERE 対象レコードが引っかかる条件 DELETE FROM テーブル名 列名 = 削除したい値 WHERE 対象レコードが引っかかる条件本当にUPDATE句とDELETE句の使用時に、WHERE句を忘れるを仕事でやらかすと寝れなくなるので、
WHERE句は絶対一緒に使うことを頭に無理やりいれましょう!!
セレビィの災いよりも怖いです!!
それでは、最後まで見て頂き、ありがとうございました!!

プログラミング能力を上げたい方は是非オンラインのプログラミング教室も検討してみてくださいね!!
一人で独学をするよりもプロからオンラインでプログラミングを教えてもらった方が10倍は効率いいです!!
私が厳選したオススメのオンライン教室を貼っておきます!!どちら共、エンジニアとしての就職までサポートしてくれる素晴らしい教室です。キャリアなどの個別相談は無料ですよ!!
申し込みは完全無料!未経験でITエンジニアを目指したい方にオススメ!
Webエンジニアになりたい方にオススメ!個別相談は無料!
