SQL UPDATE文とDELETE文のサンプル

SQLのUPDATE文とDELETE文のサンプルです。

目次

更新する UPDATE文
削除する DELETE文
  Truncate文

UPDATE文

UPDATE  テーブル名
SET  列名1 = 値1 [,列名2 = 値2]・・・
WHERE  (条件);
  • set句に更新する列名と値を記述します。
  • where句の条件に合致した行を更新します。
  • where句の条件に合致した行が複数行の場合、複数行更新します。
  • where句の条件に合致する行がない場合、更新しません。
  • where句がない場合、全ての行を更新します。
  • set句とwhere句に副問合せを記述できます。

サンプル

以下のテーブルがあるとします。

syainテーブル
id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato

SQL

上記テーブルに対してupdateでデータを更新します。

UPDATE syain
SET name = "安田", romaji = "yasuda"
WHERE id = 2;

1行目は、updateの後にsyainテーブルを指定しています。
2行目は、更新する項目と値を指定しています。更新する項目が複数ある場合は、カンマで区切ります。
3行目は、更新する行を指定しています。

結果

結果は、以下のとおりです。

syainテーブル
id name romaji
1 鈴木 suzuki
2 安田 yasuda
3 佐藤 sato

2行目のデータが更新されています。

DELETE文

DELETE  FROM  テーブル名 
WHERE  (条件);
  • where句の条件に合致した行を削除します。
  • where句の条件に合致した行が複数行の場合、複数行削除します。
  • where句の条件に合致する行がない場合は何もしません。
  • where句がない場合、全ての行を削除します。
  • where句に副問合せを記述できます。

サンプル

以下のテーブルがあるとします。

syainテーブル
id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato

SQL

上記テーブルに対してdeleteでデータを削除します。

DELETE FROM syain
WHERE id = 3;

1行目は、deleteの後にsyainテーブルを指定しています。
2行目は、削除する行を指定しています。

結果

結果は、以下のとおりです。

syainテーブル
id name romaji
1 鈴木 suzuki
2 田中 tanaka

id=3のデータが削除されました。

Truncate文

Truncate table テーブル名;
  • テーブルのデータを全て削除します。
  • where句をつけることはできません。
  • ロールバックできません。
  • delete文より高速です。
  • truncateは、切り捨てるという意味です。

サンプル

以下のテーブルがあるとします。

syainテーブル
id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato

SQL

上記テーブルに対してTruncate tableでデータを削除します。

Truncate table syain;

1行目は、Truncate tableの後にsyainテーブルを指定しています。

結果

syainテーブル
id name romaji
     

syainテーブルのデータが全て削除されます。
syainテーブル自体は消えません。

リンク

以下は、MySQLのUPDATE構文のリンクです。
https://dev.mysql.com/doc/refman/5.6/ja/update.html

以下は、MySQLのDELETE構文のリンクです。
https://dev.mysql.com/doc/refman/5.6/ja/delete.html

関連の記事

SQL INSERT文のサンプル
SQL 重複行を表示しないサンプル(distinct)
SQL 複数の行をまとめる(集約関数/group by/having)
SQL INNER JOINのサンプル(内部結合)
SQL 外部結合のサンプル(LEFT JOINとRIGHT JOIN)
SQL 副問合せのサンプル(サブクエリ)
SQL 自己結合のサンプル
SQL UNIONとUNION ALLのサンプル(結合して抽出)

△上に戻る