mysql 提供了多種時間類型以存儲時間相關信息,包括 datetime、timestamp、time、year 和 date。這些類型提供了從存儲日期和時間到僅存儲時間或年份的各種選項。根據應用程序需求和所需的精度,選擇適當的時間類型非常重要。
MySQL 時間類型詳解
MySQL 提供了幾種時間類型來存儲與時間相關的詳細信息。
1. DATETIME
存儲日期和時間,精確到秒。
格式:YYYY-MM-DD HH:MM:SS
范圍:1000-01-01 00:00:00 到 9999-12-31 23:59:59
2. TIMESTAMP
類似于 DATETIME,但會自動更新為當前時間戳。
格式:YYYY-MM-DD HH:MM:SS[.fractional seconds]
范圍:1970-01-01 00:00:01 到 2038-01-19 03:14:07 UTC
3. TIME
僅存儲時間,不存儲日期。
格式:HH:MM:SS[.fractional seconds]
范圍:-838:59:59 到 838:59:59
4. YEAR
僅存儲年份。
格式:YYYY
范圍:1901 到 2155
5. DATE
僅存儲日期,而不存儲時間。
格式:YYYY-MM-DD
范圍:1000-01-01 到 9999-12-31
示例
-- 創建時間戳列 CREATE TABLE my_table( timestamp_column TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- 在列中插入時間戳 INSERT INTO my_table(timestamp_column) VALUES (NOW()); -- 獲取當前時間戳 SELECT NOW() AS current_timestamp;
登錄后復制
注意事項
DATETIME 和 TIMESTAMP 可以存儲小數秒,以提高精度。
TIMESTAMP 的自動更新功能可以用于跟蹤記錄的最后修改時間。
TIME 對于存儲持續時間很有用,例如事件持續時間。
MySQL 5.6 及更高版本支持微秒精度的時間戳。
選擇正確的類型取決于應用程序的特定需求和所需的精度水平。