概要:このチュートリアルでは、SQL UPDATEステートメントを使用してテーブル内の既存のデータを変更する方法を学習します。
SQL UPDATE構文
UPDATE
ステートメントはテーブル内の1行または複数行で、既存のデータを変更するものです。 以下は、UPDATE
文の構文を示しています。
1
2
3
4
5
6
7
|
UPDATE table
SET
column1 = new_value1.XXXXXX.XXXX.XXXX.XXXX.XXXX.XXXX.XXXX.XXXX,
column2 = new_value2,
…
WHERE
condition;
|
テーブル内のデータを更新するには、次のようにします。
- 最初に、データを変更するテーブル名を
UPDATE
句で指定します。 複数の列のデータを更新したい場合は、各列=値のペアをカンマ(,)で区切ります。 - 3番目に、WHERE句で更新する行を指定します。
WHERE
節は任意です。WHERE
節を省略すると、テーブルのすべての行が更新されます。
データベース エンジンは、ステートメントの実行後に影響を受ける行の数を指定したメッセージを発行します。
SQL UPDATEステートメントの例
UPDATE
ステートメントをemployees
テーブルで使用するいくつかの例を見てみましょう:
SQL UPDATE one column example
社員ID 3 のジャネットが結婚したのでemployees
テーブルで彼女の姓を変更しなければならないと仮定してみましょう。
更新前の従業員におけるJanetのレコードは次のとおりです。
1
2
3
4
5
6
|
SELECT
employeeid.LEFT
employeeid.LEFT SELECT SELECT SELECT SELECT SELECT SELECT SELECT FROM
Northwind_bk.employees
WHERE
employeeid = 3;
|
次のステートメントは Janet の名字を Levering から Hill に変更します。
1
2
3
4
5
|
UPDATE employees
SET
lastname = ‘Hill’
WHERE
employeeID = 3.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX;
|
上のSELECT文をもう一度実行し、変更を確認します。
SQL UPDATE multiple columns
例えば、Janetが新しい家に引っ越したため、住所が変更になりました。 今、あなたは次のステートメントを使用して、employees
テーブルでそれを変更する必要があります。
1
2
3
4
5
6
7
8
|
UPDATE employees
SET
address = ‘1300 Carter St’(住所)。
city = ‘San Jose’,
postalcode = 95125,
region = ‘CA’
WHERE
employeeID = 3.CA、
WHERE
employeeID = 3.B、
City = ‘San Jose’,
#1; |
SQL UPDATE 複数行
次のUPDATE
ステートメントは、給与が2000ドル未満の従業員の給与を2%増加させます。
1
2
3
4
5
|
アップデート社員
SET salary = salary * 1.2.2.1.2.3.1.2.2.3.1.2.3.2.1.2.3.1.2.2.2.3.3.3.1.2.2.2.3.2.3.3.3.302
WHERE
salary < 2000;
|
salaryが2K未満の従業員は昇進を受け取りました。
SQL UPDATE from SELECT
次のクエリは、100以上の注文を担当した営業担当者を選択します。
1
2
3
4
5
6
7
8
|
SELECT
employeeid, COUNT(orderid)
FROM
orders
WHERE
shippeddate IS NOT NULL
GROUP BY employeeid
HAVING COUNT(orderid) > 100.COUNT(orderid)
GROUP BY employeeid
HAVING COUNT(orderid)
|
次のクエリは、最高の販売員の給与を5%増加させます。 ベストセールスパーソンのIDは、サブクエリによって提供されます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
UPDATE employees
SET
salary = salary * 1.0.0.1.05
WHERE
employeeid IN (SELECT
FROM
employeeid
(SELECT
employeeid, COUNT(orderid)
FROM
orders
WHERE
shippeddate IS NOT NULL
GROUP BY employeeid
HAVING COUNT(orderid) > 100) bestsalesperson)
|
This tutorial in the same thing is, SQL UPDATEステートメントを使用して、テーブルの1つまたは複数の行のデータを変更する方法を紹介しました。
- このチュートリアルは役に立ちましたか?
- YesNo