更新

記事の内容

概要

UPDATE文は、既存のデータベース内のレコードを更新するために使用されます。

UPDATE
記述

UPDATE テーブル名 SET カラム名 = 変更内容 WHERE 条件;

【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+
| id | name  | age |
+----+-------+-----+
|  1 | user1 |  25 |
|  2 | user2 |  35 |
|  3 | user3 |  27 |
+----+-------+-----+

【レコード更新】
mysql> UPDATE users SET age = 45 WHERE id = 3;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+
| id | name  | age |
+----+-------+-----+
|  1 | user1 |  25 |
|  2 | user2 |  35 |
|  3 | user3 |  45 |
+----+-------+-----+

複数カラム更新

UPDATE
記述

UPDATE テーブル名 SET カラム名 = 変更内容, カラム名 = 変更内容 WHERE 条件;

【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+--------+------------------+
| id | name  | age | gender | email            |
+----+-------+-----+--------+------------------+
|  1 | user1 |  25 |      1 | test1@exaple.com |
|  2 | user2 |  35 |      2 | test2@exaple.com |
|  3 | user3 |  27 |      2 | test3@exaple.com |
|  4 | user4 |  30 |      3 | test4@exaple.com |
+----+-------+-----+--------+------------------+

【レコード更新】
mysql> UPDATE users SET age = 45, email = "user3@exaple.com" WHERE id = 3;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+--------+------------------+
| id | name  | age | gender | email            |
+----+-------+-----+--------+------------------+
|  1 | user1 |  25 |      1 | test1@exaple.com |
|  2 | user2 |  35 |      2 | test2@exaple.com |
|  3 | user3 |  45 |      2 | user3@exaple.com |
|  4 | user4 |  30 |      3 | test4@exaple.com |
+----+-------+-----+--------+------------------+

全件更新

UPDATE
記述

UPDATE テーブル名 SET カラム名 = 変更内容;

【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+--------+------------------+
| id | name  | age | gender | email            |
+----+-------+-----+--------+------------------+
|  1 | user1 |  25 |      1 | 11111@gmail.com  |
|  2 | user2 |  35 |      2 | 22222@gmail.com  |
|  3 | user3 |  27 |      2 | 33333@gmail.com  |
|  4 | user4 |  30 |      3 | 44444@gmail.com  |
+----+-------+-----+--------+------------------+

【レコード更新】
mysql> UPDATE users SET name = CONCAT("test", id, "@exaple.com");
Query OK, 4 row affected (0.01 sec)
Rows matched: 4  Changed: 4  Warnings: 0

【usersテーブルレコードをすべて表示】
mysql> SELECT * FROM users;
+----+-------+-----+--------+------------------+
| id | name  | age | gender | email            |
+----+-------+-----+--------+------------------+
|  1 | user1 |  25 |      1 | test1@exaple.com |
|  2 | user2 |  35 |      2 | test2@exaple.com |
|  3 | user3 |  27 |      2 | user3@exaple.com |
|  4 | user4 |  30 |      3 | test4@exaple.com |
+----+-------+-----+--------+------------------+
記事の内容
閉じる