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

MySQLで特定のセルの内容を更新する方法

MySQLでは、UPDATE文WHERE句を組み合わせることで、テーブル内の特定のセル(行の特定のカラム)の内容を簡単に更新できます。この記事では、実際のコード例を通じて、その手順をわかりやすく解説します。

1. サンプルテーブルを作成する

まず、デモ用のテーブルを作成しましょう。

mysql> create table DemoTable2029
    -> (
    -> Id int,
    -> FirstName varchar(20),
    -> LastName varchar(20)
    -> );
Query OK, 0 rows affected (0.98 sec)

2. レコードを挿入する

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

mysql> insert into DemoTable2029 values(1,'Chris','Brown');
Query OK, 1 row affected (0.13 sec)

mysql> insert into DemoTable2029 values(2,'David','Miller');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable2029 values(3,'John','Smith');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable2029 values(4,'John','Brown');
Query OK, 1 row affected (0.27 sec)

3. テーブルの内容を確認する

SELECT文ですべてのレコードを表示してみましょう。

mysql> select *from DemoTable2029;

実行結果は以下の通りです。

+------+-----------+----------+
| Id   | FirstName | LastName |
+------+-----------+----------+
| 1    | Chris     | Brown    |
| 2    | David     | Miller   |
| 3    | John      | Smith    |
| 4    | John      | Brown    |
+------+-----------+----------+
4 rows in set (0.00 sec)

4. 特定のセルを更新する

ここからが本題です。特定のセルを更新するには、UPDATE文で対象のカラムに新しい値を設定し、WHERE句で更新対象の行を指定します。以下の例では、Id=4 の行にある FirstName と LastName を更新しています。

mysql> update DemoTable2029
    -> set FirstName='Adam',LastName='Smith'
    -> where Id=4;
Query OK, 1 row affected (0.14 sec)
Rows matched: 1 Changed: 1 Warnings: 0
ポイント: WHERE句を忘れると、テーブル内のすべての行が更新されてしまうので注意してください。必ず更新対象を一意に特定できる条件を指定しましょう。

5. 更新結果を確認する

もう一度SELECT文を実行して、テーブルの内容を確認します。

mysql> select *from DemoTable2029;

実行結果は以下の通りです。Id=4 の行が「Adam Smith」に更新されていることがわかります。

+------+-----------+----------+
| Id   | FirstName | LastName |
+------+-----------+----------+
| 1    | Chris     | Brown    |
| 2    | David     | Miller   |
| 3    | John      | Smith    |
| 4    | Adam      | Smith    |
+------+-----------+----------+
4 rows in set (0.00 sec)

まとめ

MySQLで特定のセルの内容を更新する基本構文は以下の通りです。

UPDATE テーブル名
SET カラム名1 = 値1, カラム名2 = 値2, ...
WHERE 条件;

WHERE句で対象の行を正確に指定することが重要です。条件を指定しない場合、テーブル全体が更新されるため、実行前には必ずWHERE句の内容を確認する習慣をつけましょう。

  1. MySQLで特定ユーザーのログイン時刻を更新する方法をわかりやすく解説

    MySQLで特定のユーザーのログイン時刻を更新したい場合は、UPDATE文にORDER BYとLIMITを組み合わせると便利です。この記事では、実際のサンプルコードと実行結果をもとに、手順を詳しく解説します。1. サンプルテーブルを作成するまず、ユーザーID・ログイン時刻・ユーザー名の3つのカラムを持つテーブルを作成します。mysql> create table DemoTable1911 ( UserId int, UserLoggedInTime time, UserName varchar(20) ); Query OK, 0 rows af

  2. MySQLで特定の日付のレコード数をカウントする方法

    MySQLでは、COUNT(*)関数とWHERE句を組み合わせることで、特定の日付に該当するレコードの件数を簡単に取得できます。この記事では、サンプルテーブルを作成し、指定した日付のデータ件数をカウントする手順を順番に解説します。 1. サンプルテーブルの作成 まず、日付型(DATE)のカラムを持つテーブルを作成しましょう。 mysql> create table DemoTable1946     (     ShippingDate date     ); Quer