SQL DELETEステートメント
SQL DELETEステートメント
DELETEステートメントは、テーブル内の既存のレコードを削除するために使用されます。
DELETE構文
DELETE FROM <em>table_name </em>WHERE <em>condition</em>;
注:テーブル内のレコードを削除するときは注意!
DELETE文のWHERE句に注目してください。
WHERE句は、どのレコードを削除するかを指定します。
WHERE句を省略すると、テーブル内のすべてのレコードが削除されます!
デモデータベース
以下は、Northwindサンプルデータベースの "Customers" テーブルからの選択です。
|
顧客ID |
顧客名 |
連絡先 |
住所 |
街 |
郵便番号 |
国 |
|---|---|---|---|---|---|---|
| 1 |
アルフレッド・フッターキステ | マリア・アンダース | オベレ通り57 | ベルリン | 12209 | ドイツ |
| 2 | アナ・トルヒーヨ サンドイッチとアイスクリーム | アナ・トルヒーヨ | コンスティトゥシオン通り2222番地 | メキシコDF | 05021 | メキシコ |
| 3 | アントニオ・モレノ・タケリア | アンソニー・モレノ | マタデロス 2312 | メキシコDF | 05023 | メキシコ |
| 4 |
アラウンドホーン | トーマス・ハーディ | 120 ハノーバー スクエア | ロンドン | WA1 1DP | イギリス |
| 5 | バーグルンドのスーパーマーケット | クリスティーナ・ベルグルンド | ベルグヴスヴェーゲン8 | ルレオ | S-958 22 | スウェーデン |
SQL DELETEの例
次のSQLステートメントは、"Customers" テーブルから顧客"Alfreds Futterkiste"を削除します。
「Customers」テーブルは次のようになります。
|
顧客ID |
顧客名 |
連絡先 |
住所 |
街 |
郵便番号 |
国 |
|---|---|---|---|---|---|---|
| 2 | アナ・トルヒーヨ サンドイッチとアイスクリーム | アナ・トルヒーヨ | コンスティトゥシオン通り2222番地 | メキシコDF | 05021 | メキシコ |
| 3 | アントニオ・モレノ・タケリア | アンソニー・モレノ | マタデロス 2312 | メキシコDF | 05023 | メキシコ |
| 4 |
アラウンドホーン | トーマス・ハーディ | 120 ハノーバー スクエア | ロンドン | WA1 1DP | イギリス |
| 5 | バーグルンドのスーパーマーケット | クリスティーナ・ベルグルンド | ベルグヴスヴェーゲン8 | ルレオ | S-958 22 | スウェーデン |
すべてのレコードを削除
テーブルを削除せずに、テーブル内のすべての行を削除することができます。これは、テーブル構造、属性、およびインデックスが損なわれないことを意味します。
DELETE FROM <em>table_name</em>;
次のSQL ステートメントは、テーブルを削除せずに、「Customers」テーブルのすべての行を削除します。