SQL UPDATE ステートメントは、テーブル内の既存のレコードを変更するために使用されます。 WHERE 句を使用して、特定の行の 1 つ以上の列の値を変更できます。 WHERE 条件がない場合、テーブル内のすべての行が更新されます。
例: まず最初に 作成する UPDATE ステートメント コマンドを使用するデモ SQL データベースとテーブル。
クエリ:
UPDATE Employees
SET Salary = 65000
WHERE Name = 'Bob';
構文:
メイブンとは何ですか
UPDATE table_name
SET column1 = value1 column2 = value2...
WHERE condition
- テーブル名: 更新するテーブルの名前。
- セット: 更新する列とその新しい値。
- どこ: 更新する特定の行をフィルターします。
注記: SET キーワードは列に新しい値を割り当て、WHERE 句は更新する行を選択します。 WHERE を指定しないと、すべての行が更新されます。
SQL UPDATE文の例
まずはサンプル データを含む Customer テーブルを作成しましょう。このテーブルには、各顧客の一意の ID 名姓電話番号および国が含まれています。これを使用して、SQL で UPDATE ステートメントがどのように機能するかを示します。
クエリ:
CREATE TABLE 顧客 (
CustomerID INT 主キー
CustomerName VARCHAR(50)
姓 VARCHAR(50)
国 VARCHAR(50)
年齢INT
電話 VARCHAR(15)
);
-- サンプル データを挿入します
INSERT INTO Customer (CustomerID CustomerName LastName Country Age Phone)
価値観(1 'リアム' 'ブラウン' 'イギリス' 25 '441234567890')
(2 'ソフィア' 'マルティネス' 'スペイン' 23 '341234567890')
(3 'アキラ' 'タナカ' '日本' 26 '811234567890')
(4 'ハンス' 'ミュラー' 'ドイツ' 27 '491234567890')
(5 'オリビア' 'デュボワ' 'フランス' 24 '331234567890');
出力:
例 1: UPDATE ステートメントを使用して単一列を更新する
Customer テーブルがあり、年齢が 22 である CustomerName を更新したいと考えています。
クエリ:
UPDATE Customer
SET CustomerName = 'Isabella'
WHERE Age = 23;
出力:
説明:
- クエリは CustomerName を「Isabella」に更新します。
- Age = 23 の行にのみ影響します。
- 特定のレコード内の既存のデータを変更するために使用されます。
例 2: UPDATE ステートメントを使用した複数の列の更新
特定の CustomerID の CustomerName と Country の両方を更新する必要があります。
クエリ:
UPDATE Customer
SET CustomerName = 'John'
Country = 'Spain'
WHERE CustomerID = 1;
出力 :
説明:
- このクエリは、CustomerID = 1 の行をターゲットとします。
- CustomerName を「John」に、 Country を「Spain」に更新します。
- 両方の列は 1 つの SQL ステートメントで同時に更新されます。
注記: 複数の列を更新するために、comma() を使用して 2 つの列の名前と値を区切りました。
隠れたアプリを明らかにする方法
例 3: UPDATE ステートメントの WHERE 句の省略
誤って WHERE 句を省略すると、テーブル内のすべての行が更新されてしまいますが、これはよくある間違いです。テーブル内のすべてのレコードの CustomerName を更新しましょう。
クエリ:
UPDATE Customer
SET CustomerName = 'ALice';
出力
説明:
- クエリは Customer テーブル内のすべての行を更新します。
- すべてのレコードの CustomerName 列を「Alice」に設定します。
- WHERE 句がないため、変更はテーブル全体に適用されます。