MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

メールアドレスを条件にMySQLのカラムを更新する方法

MySQLでは、UPDATE文WHERE句にメールアドレスなどの条件を指定することで、特定の行だけを対象にカラムの値を更新できます。ここでは、実際の手順をサンプルコードとともに解説します。

1. テーブルの作成

まず、メールアドレスとスコアを格納するテーブルを作成します。

mysql> create table DemoTable
    -> (
    -> EmailAddress varchar(20),
    -> Score int
    -> );
Query OK, 0 rows affected (1.05 sec)

2. レコードの挿入

INSERT文を使って、テーブルにいくつかのレコードを追加します。

mysql> insert into DemoTable values('Chris@gmail.com',67);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('Robert@gmail.com',57);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David@gmail.com',98);
Query OK, 1 row affected (0.14 sec)

3. 現在のデータを確認

SELECT文でテーブル内の全レコードを表示し、更新前の状態を確認しておきましょう。

mysql> select *from DemoTable;

実行すると、次のような結果が出力されます。

+------------------+-------+
| EmailAddress     | Score |
+------------------+-------+
| Chris@gmail.com  |    67 |
| Robert@gmail.com |    57 |
| David@gmail.com  |    98 |
+------------------+-------+
3 rows in set (0.00 sec)

4. メールアドレスを条件にカラムを更新

ここがポイントです。WHERE句でメールアドレスを指定してUPDATE文を実行すると、該当する行のScoreのみが更新されます。

mysql> update DemoTable
    -> set Score=89
    -> where EmailAddress='Robert@gmail.com';
Query OK, 1 row affected (0.25 sec)
Rows matched: 1 Changed: 1 Warnings: 0

5. 更新結果の確認

もう一度SELECT文でテーブルの中身を確認してみましょう。

mysql> select *from DemoTable;

実行すると、次のようにRobert@gmail.comのスコアだけが「89」に更新されていることがわかります。

+------------------+-------+
| EmailAddress     | Score |
+------------------+-------+
| Chris@gmail.com  |    67 |
| Robert@gmail.com |    89 |
| David@gmail.com  |    98 |
+------------------+-------+
3 rows in set (0.00 sec)

まとめ

このように、UPDATE文とWHERE句を組み合わせれば、メールアドレスなどの一意な値をキーにして、目的の行だけを安全かつ正確に更新できます。WHERE句を忘れるとテーブル全体が更新されてしまうため、実行前には必ず条件の指定を確認しましょう。

  1. MySQLで空白(空文字列)の列をNULLに更新する方法

    データベースを運用していると、「空文字列()」として登録されてしまったデータを「NULL」に置き換えたいケースによく出会います。NULLと空文字列は似ているようで意味が異なり、検索条件や集計処理に影響を与えるため、統一しておくことが重要です。この記事では、IF()関数とUPDATE文を組み合わせて、空白値の列をNULLに更新する手順を、実際のSQLコードと実行結果付きで解説します。1. サンプルテーブルを作成するまず、動作確認用のテーブルを作成します。ここでは氏名を格納するシンプルなテーブルを用意しました。mysql> create table DemoTable1601 -&g

  2. MySQLテーブルの単一カラム(列)を更新する最良の方法

    MySQLテーブルの単一の列(カラム)を更新するには、UPDATE文とSET句を使用します。基本的な構文は以下の通りです。UPDATE テーブル名 SET カラム名 = 値;それでは、実際にサンプルテーブルを作成し、動作を確認していきましょう。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable1873    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,  &n