LoginSignup
0
0

More than 1 year has passed since last update.

【MySQL】SQL文のDMLのうちUPDATEを学び直し

Last updated at Posted at 2022-04-12

SQL文はWEB開発においてDBはめちゃくちゃ大事だよ、覚えるべきだよ!と散々言われているにも関わらず後回しにしがちな寺です。
今クラウド関係の勉強に注力していることもありSQLの知識が抜け落ちつつあるので学び直している次第です。

普段から使っていれば自然と身につくことではあるのですが、そのうち血反吐吐くくらいノックして身につけます!

UPDATEとは

大別して3つに分類されるSQL文のうちDMLのひとつで、レコード内容を「更新」するコマンドです。

データ定義:DDL
データ操作:DML
データ生後:DCL

DMLとは

SELECT, INSERT, UPDATE, DELETEの4つを指します。

それぞれSQL操作のうち、検索・新規登録・更新・削除を行います。

CRUD処理

SQLのDMLはWeb開発などにおけるCRUD処理にそれぞれ対応します。

CRUD 説明 SQL(DML)
Create 生成 INSERT
Read 読み取り SELECT
Update 更新 UPDATE
Delete 削除 DELETE

UPDATEの使い方

UPDATEコマンドはUPDATE テーブル名 SET カラム名 = 更新値;のように記述します。

カラムを複数指定する場合は、カラム名とデータをを,(カンマ)で区切ります。

データを一括更新したいときはこのようにシンプルな書き方をします。

このクエリだとテーブル内のカラムの値が更新値で全て書き変わってしまいます。
うっかり事故らないようWHERE句で更新対象を絞るようにしましょう。

特定のデータのみ更新するようWEHERE句を指定し条件に一致するデータを更新します。
以降のSQLコマンド操作は仮想環境Envaderを使用しています。

UPDATE テーブル名 SET カラム1=データ1, カラム2=データ2... WHERE name="satou" ;

その他の条件指定

指定する条件をORDER BYで並び替えたりLIMITで絞り込んだりすることもできます。

UPDATE sample SET test_id=3 ORDER BY user_id DESC LIMIT 6;

参考:MySQL UPDATEの基本

テーブルsampleのカラムtest_idの値をuser_idDESC(降順)に並び替え出力結果の上位6つを3に書き換えるという指定内容です。
このORDER BYで並び替えLIMITで制限する使い方は結構使うと思うのでしっかり身に着けたいところ。

学んだこと

  • UPDATEコマンドを使用したデータの更新方法
  • WHERE句で絞らない場合対象の値全てが更新されてしまうので注意

触れば思い出すものの思い出すまで若干(けっこう)時間が掛かってしまうので、息を吐くようにSQL文を書けるようになりたいです。

参考資料

前回学んだINSERT文

0
0
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
0
0