3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[SQL] UPDATE文の基本構文

Posted at

##はじめに
前回に引き続き、今回はUPDATEぶんの基本構文の記事にしたいと思います。
よろしくお願いします。

##UPDATE文
UPDATE文は既存のデータを書き換えるためのものです。

UPDATE テーブル名
   SET 列名1 = 1, 列名2 = 2

1行目にUPDATEを記述して、どのテーブルのデータを書き換えたいか、テーブル名を指定します。

2行目ではSET句を利用して対象の列名(カラム名)を書いて、'='で書き換える値を代入するように書きます。
基本的にはWHERE句をこの後に書かなければその列全ての値が=の後の値に書き変わってしまいます。

下記のような家計簿テーブルがあったとします。

日付 費目 メモ 入金額 出金額
2021-08-02 食費 パンを購入 0 300
2021-08-03 食費 晩ご飯材料 0 1000
2021-08-08 交通費 電車代 0 520
2021-08-13 給料 7月分給料 250,000 0
2021-08-13 食費 外食 0 7000

もし下記のようにしてしまうと。。。

UPDATE 家計簿
   SET 出金額 = 1500
日付 費目 メモ 入金額 出金額
2021-08-02 食費 パンを購入 0 1500
2021-08-03 食費 晩ご飯材料 0 1500
2021-08-08 交通費 電車代 0 1500
2021-08-13 給料 7月分給料 250,000 1500
2021-08-13 食費 外食 0 1500

上記のように書き換えられてしまいます。
あまり実用的ではないですね。

WHERE句で日付を指定してみましょう。

UPDATE 家計簿
   SET 出金額 = 1500
 WHERE 日付 = '2021-08-03'
日付 費目 メモ 入金額 出金額
2021-08-02 食費 パンを購入 0 300
2021-08-03 食費 晩ご飯材料 0 1500
2021-08-08 交通費 電車代 0 520
2021-08-13 給料 7月分給料 250,000 0
2021-08-13 食費 外食 0 7000

このように任意のデータだけを書き換えることができました。

基本的にUPDATEを使うときはWHERE句はセットで使うことがほとんどになるでしょう。

参考: スッキリわかるSQL入門

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?