MySQL的5種時間類型的比較,看完之後,大部分程序員都收藏了


MySQL的5種時間類型的比較,看完之後,大部分程序員都收藏了

MySQL的5種時間類型的比較,看完之後,大部分程序員都收藏了

DATETIME

 DATETIME 用於表示 年月日 時分秒,是 DATE 和 TIME 的組合,並且記錄的年份(見上表)比較長久。
 如果實際應用中有這樣的需求,就可以使用 DATETIME 類型。

1、DATETIME列可以設置為多個,默認可為null,可以手動設置其值。 2、DATETIME列不可設定默認值。 3、DATETIME列可以變相的設定默認值,比如通過觸發器、或者在插入數據時候,將DATETIME字段值設置為now(),這樣可以做到了,尤其是後者,在程序開發中常常用到。

TIMESTAMP

  • TIMESTAMP 用於表示 年月日 時分秒,但是記錄的年份(見上表)比較短暫,TIMESTAMP列必須有默認值,默認值可以為“0000-00-00 00:00:00”,但不能為null。
  • TIMESTAMP 和時區相關,更能反映當前時間。當插入日期時,會先轉換為本地時區後再存放;當查詢日期時,會將日期轉換為本地時區後再顯示。所以不同時區的人看到的同一時間是 不一樣的。
  • 表中的第一個 TIMESTAMP 列自動設置為系統時間(CURRENT_TIMESTAMP)。當插入或更新一行,但沒有明確給 TIMESTAMP 列賦值,也會自動設置為當前系統時間。如果表中有第二個 TIMESTAMP 列,則默認值設置為0000-00-00 00:00:00。
  • TIMESTAMP 的屬性受 Mysql 版本和服務器 SQLMode 的影響較大。如果記錄的日期需要讓不同時區的人使用,最好使用 TIMESTAMP。

注:一般建表時候,創建時間用datetime,更新時間用timestamp。

DATE

DATE 用於表示 年月日,如果實際應用值需要保存 年月日 就可以使用 DATE。

TIME

TIME 用於表示 時分秒,如果實際應用值需要保存 時分秒 就可以使用 TIME。

YEAR

YEAR 用於表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 默認是4位。如果實際應用只保存年份
,那麼用 1 bytes 保存 YEAR 類型完全可以。不但能夠節約存儲空間,還能提高表的操作效率。

關注

感謝閱讀,如果這篇文章幫助了您,歡迎 點贊

收藏,關注轉發 喲。您的幫助是我們前行的動力,我們會提供更多有價值的內容給大家... 謝謝!


分享到:


相關文章: