MySQLでINT型フィールドを更新する方法
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句による条件指定を忘れないようにしましょう。
-
MySQLでGROUP BYのように特定の1行だけ更新する方法|ORDER BYとLIMITを活用したUPDATE文の書き方
MySQLでは、UPDATE文の中でGROUP BYを直接使用することができません。しかし、「同じ値を持つ複数のレコードの中から、最初の1行だけを更新したい」というケースは実際の開発でよく発生します。 そんなときに役立つのが、ORDER BYとLIMITを組み合わせたUPDATE文です。この記事では、サンプルテーブルを使いながら、その具体的な手順をわかりやすく解説します。 1. サンプルテーブルを作成する まず、従業員情報を格納するテーブル「DemoTable2018」を作成します。テーブルには、自動採番される主キー「EmployeeId」、従業員名「EmployeeName」、給与「Emp
-
MySQLで特定のセルの内容を更新する方法
MySQLでは、UPDATE文とWHERE句を組み合わせることで、テーブル内の特定のセル(行の特定のカラム)の内容を簡単に更新できます。この記事では、実際のコード例を通じて、その手順をわかりやすく解説します。 1. サンプルテーブルを作成する まず、デモ用のテーブルを作成しましょう。 mysql> create table DemoTable2029 -> ( -> Id int, -> FirstName varchar(2