MySQLでTIME型を使う方法をわかりやすく解説
MySQLでは、時刻のみを扱いたい場合にTIME型を使用します。ログイン時間や処理にかかった時間など、日付を含まない時刻データの保存に便利です。ここでは、実際にテーブルを作成し、TIME型のカラムにデータを挿入・取得する手順を順番に見ていきましょう。
1. TIME型カラムを持つテーブルを作成する
まず、TIME型のカラム(LoginTime)を含むテーブル「DemoTable」を作成します。これにより、ユーザーのログイン時刻を記録できるようになります。
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
LoginTime TIME NULL
);
Query OK, 0 rows affected (0.69 sec)
ポイント: 「LoginTime TIME NULL」の部分で、NULL値を許可するTIME型カラムを定義しています。「Id」はAUTO_INCREMENTにより自動的に採番される主キーです。
2. レコードを挿入する
次に、INSERT文を使ってTIME型カラムに時刻データを挿入します。時刻は「HH:MM:SS」(時:分:秒)の形式で文字列として指定します。
mysql> insert into DemoTable(LoginTime) values('12:34:45');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(LoginTime) values('13:56:01');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(LoginTime) values('04:12:23');
Query OK, 1 row affected (0.13 sec)
3. データを確認する
SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行すると、以下のような結果が得られます。
+----+-----------+ | Id | LoginTime | +----+-----------+ | 1 | 12:34:45 | | 2 | 13:56:01 | | 3 | 04:12:23 | +----+-----------+ 3 rows in set (0.00 sec)
TIME型について知っておくべきこと
- 範囲: TIME型は「-838:59:59」から「838:59:59」までの値を格納できます。24時間を超える経過時間も表現可能です。
- 形式: 通常は「HH:MM:SS」形式ですが、省略形(例:'11:12'=11:12:00)や数値(例:1112=00:11:12)での指定も可能です。
- 用途: 日付が不要な時刻データや、イベントの所要時間・経過時間の記録に適しています。
このように、MySQLのTIME型を使えば、時刻だけのデータを簡単かつ正確に管理できます。DATETIME型やTIMESTAMP型との使い分けも意識すると、より適切なデータベース設計が行えます。
-
HTMLのtime入力タイプの使い方|時刻選択フォームを簡単に実装する方法
HTMLで時刻を選択できる「time」入力タイプとは?HTMLでは、<input type=time> を使用することで、ユーザーに時刻を選択させることができます。この入力フィールドをクリックすると、タイムピッカー(時刻選択のポップアップ)が表示され、マウス操作だけで直感的に時刻を指定できるのが特徴です。また、フォーム送信時の値は「HH:MM」(例:14:30)という24時間形式の文字列になるため、サーバーサイドやJavaScriptでの処理もシンプルに行えます。注意: Internet Explorerなどの一部の旧ブラウザでは type=time がサポートされておらず、通常の
-
MySQLでDATETIME型の列に時間を追加する方法|ADDTIME()関数の使い方を解説
DATETIME型の値に時間を加算したい場合、MySQLではADDTIME()関数を使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、ADDTIME()関数で時間を追加する手順をわかりやすく解説します。1. テーブルを作成するまず、DATETIME型の列を持つテーブルを作成します。mysql> create table DemoTable1848 ( ShippingDate datetime ); Query OK, 0 rows affected (0.00 sec)2. サンプルデータを挿入する次に、INSERT文を使って