MySQL タイムスタンプは、日付、時刻、または日付と時刻を格納できる非常に重要なデータ型です。実際の開発プロセスでは、タイムスタンプを合理的に使用すると、データベース操作の効率が向上し、時間関連のクエリと計算が容易になります。この記事では、MySQL タイムスタンプの機能、特徴、および適用シナリオについて説明し、具体的なコード例を示して説明します。
1. MySQL タイムスタンプの機能と特徴
MySQL には TIMESTAMP
と DATETIME
の 2 種類のタイムスタンプがあります。これらにはさまざまな機能と特徴があり、それらを以下に紹介します。
-
TIMESTAMP
:
- ストレージ範囲は
1970 からです。 - 01-01 00:00:01
UTC から 2038-01-19 03:14:07
UTC。
- 保存された時刻は、保存のタイムゾーンに従って UTC 時間に変換されます。
- 新しいデータが挿入されると、
TIMESTAMP
列は現在のタイムスタンプに自動的に更新されます。
-
DATETIME
:
- ストレージ範囲は
1000-01-01 00:00:00# です# # から
9999-12-31 23:59:59 まで。
はタイムゾーンに応じて変換されず、実際に挿入された日付と時刻が保存されます。 - データを挿入すると、現在時刻に自動的に更新されないため、手動で設定する必要があります。
-
2. アプリケーション シナリオ
- データの作成時間と更新時間を記録します:CREATE TABLE example_table (
id INT 主キー AUTO_INCREMENT、
データ VARCHAR(255)、
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);この例では、データの作成時刻と更新時刻を記録するテーブルを作成します。
created_at 列を
DEFAULT CURRENT_TIMESTAMP に設定すると、データの挿入時に現在のタイムスタンプが自動的に記録され、
updated_at 列を
DEFAULT CURRENT_TIMESTAMP ON UPDATE に設定します。 CURRENT_TIMESTAMP に設定し、データが更新されたときにタイムスタンプを更新します。
- 指定された時間範囲内のデータをクエリします: SELECT * FROM example_table WHERE created_at >= '2022-01-01 00:00:00' AND created_at < ;= '2022-12-31 23:59:59';このクエリ ステートメントは、2022 年に作成されたデータ レコードを返します。時間範囲クエリは、タイムスタンプを使用して簡単に実行できます。
- 計算時間間隔: SELECT TIMEDIFF('2022-01-01 12:00:00', '2022-01-01 08:00:00' );このクエリ ステートメントは、2 つのタイムスタンプ間の時間間隔を返します。これは、2 つの日付と時刻の差を計算するために使用できます。
3. 概要
MySQL タイムスタンプは、データの時間情報の記録、時間範囲クエリの実行、時間間隔の計算などに役立つ非常に実用的なデータ型です。 . 動作します。タイムスタンプを適切に使用すると、データベース操作の効率が向上し、データの管理と分析が容易になります。この記事が、読者が MySQL タイムスタンプの機能、特徴、およびアプリケーション シナリオを理解するのに役立つことを願っています。
以上がMySQL タイムスタンプを理解する: 機能、特徴、およびアプリケーション シナリオの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。