MySQLで特定の列(カラム)の値だけを更新する方法
MySQLでテーブルのデータを更新する際、UPDATE文を使えば特定の1つの列(カラム)の値だけを変更できます。WHERE句で対象の行を指定し、SET句で更新したい列とその新しい値を記述するのが基本です。本記事では、サンプルコードを使いながら、単一の列の値を更新する手順をわかりやすく解説します。
1. サンプルテーブルを作成する
まず、デモ用のテーブルを作成します。
mysql> create table DemoTable770 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int ); Query OK, 0 rows affected (0.65 sec)
このテーブルは、自動採番される主キー「Id」と、整数型の「Value」の2つの列を持っています。
2. テストデータを挿入する
次に、INSERTコマンドを使用していくつかのレコードをテーブルに挿入します。
mysql> insert into DemoTable770(Value) values(10); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable770(Value) values(90); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable770(Value) values(160); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable770(Value) values(450); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable770(Value) values(560); Query OK, 1 row affected (0.21 sec)
3. 現在のデータを確認する
SELECT文ですべてのレコードを表示し、挿入されたデータを確認しましょう。
mysql> select *from DemoTable770;
実行結果は以下の通りです。
+----+-------+ | Id | Value | +----+-------+ | 1 | 10 | | 2 | 90 | | 3 | 160 | | 4 | 450 | | 5 | 560 | +----+-------+ 5 rows in set (0.00 sec)
4. 特定の行の単一列の値を更新する
ここがポイントです。Id=4 の行にある Value 列の値だけを150増やしてみます。
mysql> update DemoTable770 set Value=Value+150 where Id=4; Query OK, 1 row affected (0.52 sec) Rows matched: 1 Changed: 1 Warnings: 0
このUPDATE文の構文におけるポイントは以下の通りです。
- SET句:「Value=Value+150」のように、現在の値を基準に計算した結果をそのまま代入できる
- WHERE句:対象となる行を絞り込むことで、他の行への影響を防げる
- 注意点:WHERE句を付け忘れると全行が更新されてしまうため、必ず条件を指定すること
5. 更新結果を確認する
もう一度SELECT文を実行し、更新が正しく反映されたかを確認しましょう。
mysql> select *from DemoTable770;
実行結果:
+----+-------+ | Id | Value | +----+-------+ | 1 | 10 | | 2 | 90 | | 3 | 160 | | 4 | 600 | | 5 | 560 | +----+-------+ 5 rows in set (0.00 sec)
Id=4 の行の Value が 450 から 600(450 + 150)に更新され、それ以外の行は元のまま維持されていることがわかります。
まとめ
MySQLで単一の列の値のみを更新するには、UPDATE文のSET句とWHERE句を組み合わせます。「Value = Value + 150」のように現在の値を使った計算もシンプルに記述できるため、数値の加算・減算などによる部分的な更新にも非常に便利です。誤更新を防ぐためにも、WHERE句での条件指定を習慣づけましょう。
-
MySQLで単一の列(カラム)の値のみを更新する方法
MySQLでは、UPDATE文を使うことで、テーブル内の特定の列(カラム)の値だけを簡単に更新できます。この記事では、サンプルテーブルを作成し、単一の列の値のみを更新する手順を具体例とともにわかりやすく解説します。 1. サンプルテーブルの作成 まず、テーブルを作成しましょう。 mysql> create table DemoTable1605 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> Stude
-
MySQLで特定の行から単一の値だけを取得する方法(SELECT INTOの使い方)
MySQLで特定の条件に一致する行から、単一の値だけを変数に取得したい場合は、SELECT ... INTO 変数構文とWHERE句を組み合わせて使用します。この記事では、実際のテーブル作成から値の取得までの手順を順番に解説します。 1. サンプルテーブルを作成する まずは動作確認用のテーブルを作成しましょう。学生ID・氏名・点数を持つシンプルなテーブルを定義します。 mysql> create table DemoTable1896 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName