SQL UPDATE

SQL UPDATE文とは?

UPDATE文はテーブル内の既存のレコードを変更するために使用されます。

UPDATE構文

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

注意:テーブル内のレコードを更新する際は注意が必要です! UPDATE文のWHERE句に注意してください。WHERE句を省略すると、テーブル内のすべてのレコードが更新されます。

デモデータベース

以下は、例で使用されるCustomersテーブルの一部です:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

テーブルの更新

次のSQL文は、最初の顧客(CustomerID = 1)の連絡先担当者と都市を更新します。

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

“Customers”テーブルの選択結果は以下のようになります:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

複数レコードの更新

更新するレコード数はWHERE句で決まります。

UPDATE Customers
SET ContactName='Juan'
WHERE Country='Mexico';

“Customers”テーブルの選択結果は以下のようになります:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Juan Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

注意:レコードを更新する際は慎重に行ってください。WHERE句を省略すると、すべてのレコードが更新されます!