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

MySQLでINT型フィールドを更新する方法

```html

MySQLでは、UPDATE文を使ってテーブル内のINT型フィールド(数値データ)を簡単に更新できます。この記事では、サンプルテーブルを作成し、既存の数値を基準にINT型カラムを更新する具体的な手順を実行例とともに解説します。

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

まず、以下のクエリでテーブルを作成します。

mysql> create table DemoTable702 (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(100),
    StudentScore int
);
Query OK, 0 rows affected (0.56 sec)

2. レコードの挿入

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

mysql> insert into DemoTable702(StudentName,StudentScore) values('Chris',56);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable702(StudentName,StudentScore) values('Robert',21);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable702(StudentName,StudentScore) values('Mike',89);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable702(StudentName,StudentScore) values('David',99);
Query OK, 1 row affected (0.20 sec)

3. レコードの確認

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

mysql> select *from DemoTable702;

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

+-----------+-------------+--------------+
| StudentId | StudentName | StudentScore |
+-----------+-------------+--------------+
| 1         | Chris       | 56           |
| 2         | Robert      | 21           |
| 3         | Mike        | 89           |
| 4         | David       | 99           |
+-----------+-------------+--------------+
4 rows in set (0.00 sec)

4. INT型フィールドを更新するクエリ

ここが本題です。現在の値に対して数値を加算する形でINT型フィールドを更新するには、「SET カラム名=カラム名+加算値」のように記述します。WHERE句で対象レコードを指定するのがポイントです。

mysql> update DemoTable702 set StudentScore=StudentScore+9 where StudentId=2;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0

5. 更新結果の確認

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

mysql> select *from DemoTable702;

実行結果は以下の通りです。StudentId=2 の Robert のスコアが「21」から「30」(21+9)に更新されていることがわかります。

+-----------+-------------+--------------+
| StudentId | StudentName | StudentScore |
+-----------+-------------+--------------+
| 1         | Chris       | 56           |
| 2         | Robert      | 30           |
| 3         | Mike        | 89           |
| 4         | David       | 99           |
+-----------+-------------+--------------+
4 rows in set (0.00 sec)

まとめ

MySQLでINT型フィールドを更新する場合は、「SET カラム名=カラム名+値」のように現在の値を基準とした計算式を書くことで、既存の数値を保ちながら柔軟に更新できます。特定の行だけを変更したい場合は、WHERE句による条件指定を忘れないようにしましょう。

  1. MySQLでGROUP BYのように特定の1行だけ更新する方法|ORDER BYとLIMITを活用したUPDATE文の書き方

    MySQLでは、UPDATE文の中でGROUP BYを直接使用することができません。しかし、「同じ値を持つ複数のレコードの中から、最初の1行だけを更新したい」というケースは実際の開発でよく発生します。 そんなときに役立つのが、ORDER BYとLIMITを組み合わせたUPDATE文です。この記事では、サンプルテーブルを使いながら、その具体的な手順をわかりやすく解説します。 1. サンプルテーブルを作成する まず、従業員情報を格納するテーブル「DemoTable2018」を作成します。テーブルには、自動採番される主キー「EmployeeId」、従業員名「EmployeeName」、給与「Emp

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

    MySQLでは、UPDATE文とWHERE句を組み合わせることで、テーブル内の特定のセル(行の特定のカラム)の内容を簡単に更新できます。この記事では、実際のコード例を通じて、その手順をわかりやすく解説します。 1. サンプルテーブルを作成する まず、デモ用のテーブルを作成しましょう。 mysql> create table DemoTable2029     -> (     -> Id int,     -> FirstName varchar(2