MySQLのTINYINT型カラムに対してUPDATEステートメントを使用する方法
MySQLでは、TINYINT型のカラムは真偽値(true/false)を扱う際によく利用されます。この記事では、TINYINT型のカラムを持つテーブルに対して、UPDATEステートメントで値を更新する手順を具体的に解説します。
1. テーブルを作成する
まず、サンプル用のテーブルを作成します。ここでは、isMarried カラムを TINYINT 型として定義しています。
mysql> create table DemoTable
-> (
-> EmployeeId int,
-> isMarried tinyint
-> );
Query OK, 0 rows affected (6.84 sec)
2. レコードを挿入する
次に、INSERTコマンドを使っていくつかのレコードを登録します。TINYINT型には true(1)と false(0)をそのまま指定できます。
mysql> insert into DemoTable values(101,true);
Query OK, 1 row affected (1.94 sec)
mysql> insert into DemoTable values(102,false);
Query OK, 1 row affected (0.76 sec)
mysql> insert into DemoTable values(103,true);
Query OK, 1 row affected (1.14 sec)
mysql> insert into DemoTable values(104,true);
Query OK, 1 row affected (1.22 sec)
3. 登録されたデータを確認する
SELECTステートメントで、テーブル内の全レコードを表示してみましょう。
mysql> select *from DemoTable;
実行すると、以下のような結果が出力されます。
+------------+----------+
| EmployeeId | isMarried|
+------------+----------+
| 101 | 1 |
| 102 | 0 |
| 103 | 1 |
| 104 | 1 |
+------------+----------+
4 rows in set (0.00 sec)
4. UPDATEステートメントでTINYINTの値を更新する
TINYINT型のカラムを更新するには、通常のUPDATE構文と同じように記述します。ここでは、EmployeeIdが103のレコードについて、isMarried の値を false に変更します。
mysql> update DemoTable
-> set isMarried=false
-> where EmployeeId=103;
Query OK, 1 row affected (1.24 sec)
Rows matched: 1 Changed: 1 Warnings: 0
5. 更新結果を確認する
もう一度SELECTステートメントを実行して、更新が正しく反映されているか確認しましょう。
mysql> select *from DemoTable;
実行結果は以下のとおりです。EmployeeIdが103のレコードの値が「1」から「0」に変更されていることがわかります。
+------------+----------+
| EmployeeId | isMarried|
+------------+----------+
| 101 | 1 |
| 102 | 0 |
| 103 | 0 |
| 104 | 1 |
+------------+----------+
4 rows in set (0.00 sec)
まとめ
TINYINT型のカラムは、MySQL内部では数値(0または1)として扱われますが、UPDATEステートメントでは true / false を直接指定することも可能です。WHERE句で対象レコードを正しく絞り込めば、意図した行だけを安全に更新できます。
-
JavaのPreparedStatementを使ってMySQLテーブルを更新する方法
JavaからMySQLのテーブルを更新するには、PreparedStatementを使用するのが一般的で安全な方法です。PreparedStatementを使うことで、SQLインジェクションを防ぎつつ、パラメータを動的に設定できます。この記事では、実際にテーブルを作成し、Javaプログラムからレコードを更新するまでの一連の手順を解説します。1. テーブルの作成まず、MySQLで更新用のテーブルを作成しましょう。mysql> create table DemoTable( Id int, FirstName varchar(40) ); Query OK, 0 rows a
-
ApacheとMySQLを連携させる方法|ユーザー認証とログ管理の基本
ApacheとMySQLの連携とは本記事では、Webサーバー「Apache」とデータベース「MySQL」を組み合わせて活用する方法を解説します。Apacheは、Apache Software Foundationによって開発・保守されているWebサーバーソフトウェアです。ユーザーからWebページへのアクセス要求(リクエスト)を受け付け、いくつかのセキュリティチェックを実施したうえで、目的のページへとユーザーを誘導します。MySQLによるユーザー認証MySQLデータベースを使ってユーザー認証を行えるプログラムは数多く存在します。これらのプログラムを利用すれば、アクセスログをMySQLのテーブルに