これをマスター
マスター DELETEでレコード削除テーマ
要らなくなったで商品情報を削除しよう
テーブル: product | ||||||
商品ID | 商品タイプ | 商品名 | 価格 | |||
1 | P0001 | 有機豆 | ブラジル人-オーガニック | 250 | ||
2 | P0002 | ハウスブレンドビーンズ | 私たちの昔のダイナーブレンド | 700 | ||
3 | P0003 | エスプレッソビーンズ | エスプレッソロースト | 500 | ||
4 | P0004 | エスプレッソビーンズ | プリモエスプレッソロースト | 500 | ||
5 | P0005 | グルメビーンズ | コロンビアのミディアムロースト | 245 | ||
6 | P0006 | グルメビーンズ | エチオピア | 300 | ||
7 | P0007 | プレミアムビーンズ | ジャマイカコーヒーリバー | 600 | ||
8 | ||||||
9 | ||||||
10 | ||||||
結果 (スペース都合で5行のみ表示) | ||||||
商品ID | 商品タイプ | 商品名 | 価格 | |||
1 | P0002 | ハウスブレンドビーンズ | 私たちの昔のダイナーブレンド | 700 | ||
2 | P0003 | エスプレッソビーンズ | エスプレッソロースト | 500 | ||
3 | P0004 | エスプレッソビーンズ | プリモエスプレッソロースト | 500 | ||
4 | P0005 | グルメビーンズ | コロンビアのミディアムロースト | 245 | ||
5 | P0006 | グルメビーンズ | エチオピア | 300 |
はじめに
UPDATE テーブル名 SET [コラム名]=XXX
SQLでデータベースのデータ行を削除するには
DELETEを使います
通常WHERE句を付けて
条件に合った行を削除します
WHERE句を付けないとそのテーブルの全部のデータが削除されてしまいます
詳しく
例を見ていきましょう
商品ID: P0001の商品データを消しています
DELETEの基本構造は
DELETE FROM テーブル名 WHERE 条件
このまま覚えちゃいましょう
ここでは product というテーブルの
SET の後の [商品名]=’ブラジリアン-オーガニック’ で
左 : [商品名]のコラムに = 右 : ‘ブラジリアン-オーガニック’を代入してね
と言う意味になります
WHERE [商品ID]=’P0001′
特定の商品IDを指定しています
もう一歩
WHERE句をもう少し複雑にして
WHERE [商品ID] IN (’P0001′, ’P0002, ’P0003′)
などとして
P0001からP0003までを消す事もできます
実務的に
ただ実務的にシステムを設計する際には
DELETE を使ってデータを削除する代わりに
たとえば [ステータス] などのようなカラムを追加して
ステータス = “削除” などのようにして
なんでもかんでもデータを削除することは避けます
これは一度データを消してしまうと
万一システムやビジネス上で問題があった場合
トラッキング出来ないためや
バックエンドのコールセンターのシステムで
お客さんが削除した、履歴が見えるようにするためです