MySQLで特定の行の値を10減らすUPDATE文の書き方
はじめに
MySQLでは、UPDATE文を使うことで、特定の条件に一致する行の値を簡単に減算できます。本記事では、テーブルの作成からデータの挿入、そして特定の行の「Score」カラムの値を10だけ減らす方法まで、手順を追って解説します。
ステップ1:テーブルの作成
まず、以下のコマンドでサンプル用のテーブルを作成します。
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Score int
);
Query OK, 0 rows affected (0.89 sec)
ステップ2:レコードの挿入
INSERTコマンドを使用して、テーブルにいくつかのレコードを追加します。
mysql> insert into DemoTable(Score) values(67);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Score) values(78);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Score) values(90);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(Score) values(56);
Query OK, 1 row affected (0.13 sec)
ステップ3:レコードの確認
SELECT文を実行して、テーブル内のすべてのレコードを表示します。
mysql> select *from DemoTable;
出力結果
+----+-------+
| Id | Score |
+----+-------+
| 1 | 67 |
| 2 | 78 |
| 3 | 90 |
| 4 | 56 |
+----+-------+
4 rows in set (0.00 sec)
特定の値を10減らすクエリ
特定の行の値を10だけ減らすには、以下のようにUPDATE文を記述します。ここでは、Idが3のレコードのScoreから10を引いています。
mysql> update DemoTable set Score=Score-10 where Id=3;
Query OK, 1 row affected (0.38 sec)
Rows matched : 1 Changed : 1 Warnings : 0
ポイントは SET Score=Score-10 の部分です。現在の値そのものから10を減算した結果を代入することで、元の値に関係なく一律に減らすことができます。また、WHERE Id=3 を指定することで、更新対象はIdが3の行のみに限定され、他のレコードには影響しません。
更新後の確認
もう一度テーブルのレコードを確認してみましょう。
mysql> select *from DemoTable;
出力結果
+----+-------+
| Id | Score |
+----+-------+
| 1 | 67 |
| 2 | 78 |
| 3 | 80 |
| 4 | 56 |
+----+-------+
4 rows in set (0.00 sec)
出力を見ると、Idが3のレコードのScoreが90から80へ減っていることがわかります。このように、UPDATE文とWHERE句を組み合わせることで、特定の行だけを安全に対象とした減算処理が実現できます。なお、数値を増やしたい場合は「Score+10」のように符号を変えるだけで対応可能です。
-
MySQLでNULL値を特定の値に置き換える方法:IFNULL()関数の使い方
MySQLでは、IFNULL()関数を使用することで、列に含まれるNULL値を検出し、任意の特定の値に置き換えて表示することができます。この記事では、サンプルテーブルの作成からIFNULL()を使ったクエリの実行まで、具体的な手順をわかりやすく解説します。 サンプルテーブルの作成 まず、以下のコマンドでテーブルを作成しましょう。ここでは、名前を格納する「FirstName」列を持つテーブルを定義します。 mysql> create table DemoTable1878 ( FirstName varchar(20) ); Query OK, 0 rows af
-
正の値を持つ行に対してTRUEを返すMySQLクエリの書き方
MySQLで正の値を持つ行に対してTRUE(1)を返し、負の値に対してはFALSE(0)を返したい場合は、IF()関数を使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、具体的なクエリの書き方を解説します。 1. サンプルテーブルを作成する まず、CREATE TABLE文を使ってテーブルを作成します。 mysql> create table DemoTable2038 -> ( -> Id int NOT NULL AUTO_INCREMENT