SQL UPDATEステートメント
SQL UPDATEステートメント
UPDATE
ステートメントは、テーブル内の既存のレコードを変更するために使用されます。
UPDATE構文
UPDATE <em>table_name</em>
SET <em>column1 </em>=<em> value1</em>,<em> column2 </em>=<em> value2</em>, ...
WHERE <em>condition</em>;
注:テーブル内のレコードを更新するときは注意してください!UPDATE
文の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 | スウェーデン |
UPDATEテーブル
次のSQLステートメントは、最初の顧客(CustomerID = 1)を新しい担当者*と*新しい都市で更新します。
例
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
「Customers」テーブルからの選択は、次のようになります。
顧客ID |
顧客名 |
連絡先 |
住所 |
街 |
郵便番号 |
国 |
---|---|---|---|---|---|---|
1 |
アルフレッド・フッターキステ | マリア・アンダース | オベレ通り57 | ベルリン | 12209 | ドイツ |
2 | アナ・トルヒーヨ サンドイッチとアイスクリーム | アナ・トルヒーヨ | コンスティトゥシオン通り2222番地 | メキシコDF | 05021 | メキシコ |
3 | アントニオ・モレノ・タケリア | アンソニー・モレノ | マタデロス 2312 | メキシコDF | 05023 | メキシコ |
4 |
アラウンドホーン | トーマス・ハーディ | 120 ハノーバー スクエア | ロンドン | WA1 1DP | イギリス |
5 | バーグルンドのスーパーマーケット | クリスティーナ・ベルグルンド | ベルグヴスヴェーゲン8 | ルレオ | S-958 22 | スウェーデン |
複数のレコードを更新する。
更新するレコード数を決定するのはWHERE
句です。
次のSQLステートメントは、国が"Mexico"であるすべてのレコードのContactNameを "Juan"に更新します。
「Customers」テーブルからの選択は、次のようになります。
顧客ID |
顧客名 |
連絡先 |
住所 |
街 |
郵便番号 |
国 |
---|---|---|---|---|---|---|
1 |
アルフレッド・フッターキステ | マリア・アンダース | オベレ通り57 | ベルリン | 12209 | ドイツ |
2 | アナ・トルヒーヨ サンドイッチとアイスクリーム | アナ・トルヒーヨ | コンスティトゥシオン通り2222番地 | メキシコDF | 05021 | メキシコ |
3 | アントニオ・モレノ・タケリア | アンソニー・モレノ | マタデロス 2312 | メキシコDF | 05023 | メキシコ |
4 |
アラウンドホーン | トーマス・ハーディ | 120 ハノーバー スクエア | ロンドン | WA1 1DP | イギリス |
5 | バーグルンドのスーパーマーケット | クリスティーナ・ベルグルンド | ベルグヴスヴェーゲン8 | ルレオ | S-958 22 | スウェーデン |
アップデートに関する警告!
レコードを更新するときは注意してください。WHERE
句を省略した場合、すべてのレコードが更新されます!
「Customers」テーブルからの選択は、次のようになります。
顧客ID |
顧客名 |
連絡先 |
住所 |
街 |
郵便番号 |
国 |
---|---|---|---|---|---|---|
1 |
アルフレッド・フッターキステ | マリア・アンダース | オベレ通り57 | ベルリン | 12209 | ドイツ |
2 | アナ・トルヒーヨ サンドイッチとアイスクリーム | アナ・トルヒーヨ | コンスティトゥシオン通り2222番地 | メキシコDF | 05021 | メキシコ |
3 | アントニオ・モレノ・タケリア | アンソニー・モレノ | マタデロス 2312 | メキシコDF | 05023 | メキシコ |
4 |
アラウンドホーン | トーマス・ハーディ | 120 ハノーバー スクエア | ロンドン | WA1 1DP | イギリス |
5 | バーグルンドのスーパーマーケット | クリスティーナ・ベルグルンド | ベルグヴスヴェーゲン8 | ルレオ | S-958 22 | スウェーデン |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。