データの更新と削除

本章ではテーブルに登録されたデータの更新(変更)及び削除の方法について解説します。
本章の目標
  • データの更新方法をおぼえる
  • データの削除方法をおぼえる
ページの先頭へ
ページの先頭へ

1.データの更新

登録したデータを後から変更したいケースは多々あります。ここでは、テーブルに登録したデータを変更する方法を学習します。

1. データ更新の基本

データの更新には、「UPDATE」文を使用します。
構文は下記の通りです。

UPDATE テーブル名 SET 更新対象列名=更新値,更新対象列名=更新値・・・;

例えば「bookinfo」で、書籍名を「Android基礎テキスト」、価格を2000円にしたい場合、

UPDATE bookinfo SET title='Android基礎テキスト',price=2000;

となります。
※ 但し、このままDDL文を発行すると全てのデータが更新されてしまいますので、この操作は実行しないでください。

isbn title Price
00001 SQL入門テキスト 1050
00002 SQL基礎テキスト 2300
00003 Java基礎テキスト 1050
00004 PHP基礎テキスト 2100
00005 Java Struts基礎テキスト 3800


isbn title Price
00001 Android基礎テキスト 2000
00002 Android基礎テキスト 2000
00003 Android基礎テキスト 2000
00004 Android基礎テキスト 2000
00005 Android基礎テキスト 2000

このような更新がないわけではありませんが、特定のデータを更新するほうが一般的です。
更新するデータを特定する場合は、「SELECT」文同様、「WHERE」句を使用します。

UPDATE テーブル名 SET 更新対象列名=更新値,更新対象列名=更新値・・・WHERE 検索対象の列名 演算子 '値' ;

「bookinfo」を例にして説明しましょう。
ISBN番号が「00005」のデータの書籍名を「Android基礎テキスト」に、価格を2000円にする場合は、

UPDATE bookinfo SET title='Android基礎テキスト',price=2000 WHERE isbn='00005';

となります。





                                     


また、価格が2000円以上のデータの価格を3000円に変更したい場合は、

UPDATE bookinfo SET price=3000 WHERE price>=2000;

となります。





                                     




「bookinfo」テーブルを元の状態に戻してください。

isbn title Price
00001 SQL入門テキスト 1050
00002 SQL基礎テキスト 3000
00003 Java基礎テキスト 1050
00004 PHP基礎テキスト 3000
00005 Android基礎テキスト 3000


isbn title Price
00001 SQL入門テキスト 1050
00002 SQL基礎テキスト 2300
00003 Java基礎テキスト 1050
00004 PHP基礎テキスト 2100
00005 Java Struts基礎テキスト 3800


UPDATE bookinfo SET price=2300 WHERE isbn='00002';
UPDATE bookinfo SET price=2100 WHERE isbn='00004';
UPDATE bookinfo SET title='Java Struts基礎テキスト',price=3800 WHERE isbn='00005';


ページの先頭へ

2.データの削除

データ操作の基本の最後は、データの削除です。データの削除とは、行(レコード)のデータをテーブルから削除してしまうことです。ここではデータ削除の基本を学習します。

1. データ削除の基本

データの削除には、「DELETE」文を使用します。
構文は下記の通りです。

DELETE FROM テーブル名;

例えば「bookinfo」からデータを削除したい場合、

DELETE FROM bookinfo;

となります。
※ 但し、このままDDL文を発行すると、「UPDATE」文の時と同様全てのデータが削除されてしまいますので、この操作は実行しないでください。

isbn title Price
00001 SQL入門テキスト 1050
00002 SQL基礎テキスト 2300
00003 Java基礎テキスト 1050
00004 PHP基礎テキスト 2100
00005 Java Struts基礎テキスト 3800


isbn title Price

あるテーブルの全てのデータを削除する場合は、このような方法をとりますが、ある特定の行を削除する場合は、「WHERE」句を使用します。

DELETE FROM テーブル名 WHERE 削除対象の列名 演算子 '値' ;

例えば、「bookinfo」からISBN番号が「00005」のデータを削除する場合は、

DELETE FROM bookinfo WHERE isbn ='00005';

となります。





                                     


「bookinfo」の状態を確認します。

SELECT * FROM bookinfo;




また、価格が2000円以上のデータを削除したい場合は、

DELETE FROM bookinfo WHERE price>=2000;

となります。





                                     


「bookinfo」の状態を確認します。

SELECT * FROM bookinfo;






「bookinfo」テーブルを元の状態に戻してください。

isbn title Price
00001 SQL入門テキスト 1050
00003 Java基礎テキスト 1050


isbn title Price
00001 SQL入門テキスト 1050
00002 SQL基礎テキスト 2300
00003 Java基礎テキスト 1050
00004 PHP基礎テキスト 2100
00005 Java Struts基礎テキスト 3800


INSERT INTO bookinfo(isbn,title,price) VALUES('00002','SQL基礎テキスト',2300);
INSERT INTO bookinfo(isbn,title,price) VALUES('00004','PHP基礎テキスト',2100);
INSERT INTO bookinfo(isbn,title,price) VALUES('00005','Java Struts基礎テキスト',3800);


ページの先頭へ

3.本章のまとめ

本章ではデータの更新方法と削除方法を解説しました。
ポイントは条件指定がデータの抽出条件と同じ指定ができるということです。
データの更新と削除方法自体のバリエーションは多くないので、ここで基本文法をマスターしておいてください。

ページの先頭へ