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;
テーブルsample
のカラムtest_id
の値をuser_id
でDESC
(降順)に並び替え出力結果の上位6つを3に書き換えるという指定内容です。
このORDER BYで並び替えLIMITで制限する使い方は結構使うと思うのでしっかり身に着けたいところ。
学んだこと
- UPDATEコマンドを使用したデータの更新方法
- WHERE句で絞らない場合対象の値全てが更新されてしまうので注意
触れば思い出すものの思い出すまで若干(けっこう)時間が掛かってしまうので、息を吐くようにSQL文を書けるようになりたいです。
参考資料
前回学んだINSERT文