既存のデータ(レコード)を更新するSQLの書き方について紹介していきます
前提条件
ユーザーを管理するテーブルの情報を更新します
使用するテーブル:usersテーブル
+----+-----------+------------+------------------+
| id | last_name | first_name | email |
+----+-----------+------------+------------------+
| 1 | 柴犬 | みたらし | shibainu@dog.com |
| 2 | コーギー | いそべ | corgi@dog.com |
| 3 | ダックス | きなこ | daks@dog.com |
| 4 | パグ | あんこ | pug@dog.com |
| 5 | シーズー | あずき | shi-tzu@dog.com |
| 6 | 秋田犬 | うぐいす | akitainu@dog.com |
+----+-----------+------------+------------------+
6 rows in set (0.001 sec)
条件
- id6の秋田犬のメールアドレスを更新します
更新内容
現在 | 更新後 |
---|---|
akitainu@dog.com | akitaken@dog.co.jp |
データ(レコード)を更新する
構文
update テーブル名 set 列1 = 値1,列2 = 値2 where 条件;
コードの見方
テーブル名:データを更新するレコードのあるテーブルを指定する
列:更新したいカラム名
値:更新する任意の値
条件:更新するデータを絞り込む条件
SQL文
update users set email = 'akitaken@dog.co.jp' where id = 6;
テーブル名にはusersを指定
更新するカラムはemail
更新する値には ‘akitaken@dog.co.jp’
条件は秋田犬のメールアドレスを更新したいのでid=6を指定
コードを入力してテーブル情報を確認すると
+----+-----------+------------+--------------------+
| id | last_name | first_name | email |
+----+-----------+------------+--------------------+
| 1 | 柴犬 | みたらし | shibainu@dog.com |
| 2 | コーギー | いそべ | corgi@dog.com |
| 3 | ダックス | きなこ | daks@dog.com |
| 4 | パグ | あんこ | pug@dog.com |
| 5 | シーズー | あずき | shi-tzu@dog.com |
| 6 | 秋田犬 | うぐいす | akitaken@dog.co.jp |
+----+-----------+------------+--------------------+
6 rows in set (0.001 sec)
指定したメールアドレスに更新することができました
サブクエリなどを使用するとより詳細な条件を指定してデータ更新を行うことができます