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

MySQLで単一の列(カラム)の値のみを更新する方法

MySQLでは、UPDATE文を使うことで、テーブル内の特定の列(カラム)の値だけを簡単に更新できます。この記事では、サンプルテーブルを作成し、単一の列の値のみを更新する手順を具体例とともにわかりやすく解説します。

1. サンプルテーブルの作成

まず、テーブルを作成しましょう。

mysql> create table DemoTable1605
    -> (
    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName varchar(20),
    -> StudentCountryName varchar(20)
    -> );
Query OK, 0 rows affected (0.48 sec)

このテーブルは、自動採番される主キー「StudentId」、学生名「StudentName」、出身国名「StudentCountryName」の3つの列で構成されています。

2. レコードの挿入

次に、INSERTコマンドを使ってテーブルにレコードを挿入します。

mysql> insert into DemoTable1605(StudentName,StudentCountryName) values('Adam','AUS');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1605(StudentName,StudentCountryName) values('John','US');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1605(StudentName,StudentCountryName) values('Bob','UK');
Query OK, 1 row affected (0.11 sec)

3. 挿入したレコードの確認

SELECT文を使って、テーブル内のすべてのレコードを表示します。

mysql> select * from DemoTable1605;

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

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
|         1 | Adam        | AUS                |
|         2 | John        | US                 |
|         3 | Bob         | UK                 |
+-----------+-------------+--------------------+
3 rows in set (0.00 sec)

4. 単一の列値のみを更新する

MySQLで特定の列の値のみを更新するには、UPDATE文とWHERE句を組み合わせます。以下のクエリでは、「StudentCountryName」が「UK」であるレコードの「StudentName」だけを「Chris」に変更しています。

mysql> update DemoTable1605 set StudentName='Chris' where StudentCountryName='UK';
Query OK, 1 row affected (0.09 sec)
Rows matched: 1  Changed: 1 Warnings: 0

ここでのポイントは、SET句に更新したい列(この場合はStudentName)だけを指定している点です。SET句に含まれていない列には一切影響しません。

5. 更新結果の確認

もう一度テーブルのレコードを確認してみましょう。

mysql> select * from DemoTable1605;

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

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
|         1 | Adam        | AUS                |
|         2 | John        | US                 |
|         3 | Chris       | UK                 |
+-----------+-------------+--------------------+
3 rows in set (0.00 sec)

「StudentCountryName」が「UK」のレコードの「StudentName」だけが「Bob」から「Chris」に更新され、他の列の値はそのまま維持されていることがわかります。

まとめ

UPDATE文で単一の列のみを更新する際は、SET句に目的の列を指定し、WHERE句で対象行を正確に絞り込むことが重要です。なお、WHERE句を付け忘れるとテーブル全体のデータが更新されてしまうため、実行前には必ず条件を確認するようにしましょう。

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

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

  2. MySQLで特定の行から単一の値だけを取得する方法(SELECT INTOの使い方)

    MySQLで特定の条件に一致する行から、単一の値だけを変数に取得したい場合は、SELECT ... INTO 変数構文とWHERE句を組み合わせて使用します。この記事では、実際のテーブル作成から値の取得までの手順を順番に解説します。 1. サンプルテーブルを作成する まずは動作確認用のテーブルを作成しましょう。学生ID・氏名・点数を持つシンプルなテーブルを定義します。 mysql> create table DemoTable1896 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName