MySQL 教程之列類型中的日期時間型

本篇文章主要給大家介紹mysql中列類型之日期時間型的相關知識點,希望對需要的朋友有所幫助!

推薦參考教程:《mysql教程

列類型(數據類型)

所謂的列類型,其實就是指數據類型,即對數據進行統一的分類,從系統的角度出發是為了能夠使用統一的方式進行管理,更好的利用有限的空間。

在 SQL 中,將數據類型分成了三大類,分別為:數值型、字符串型和日期時間型。

MySQL 教程之列類型中的日期時間型

日期時間型

日期時間型數據,顧名思義,就是用來表示日期和時間的數據類型,共有五種類型,分別為:

  • datetime:日期時間,其格式為yyyy-MM-dd HH:mm:ss,表示的范圍是從 1000 年到 9999 年,有零值,即0000-00-00 0000:00;

  • date:日期,就是datetime的date部分;

  • time:時間,或者說是時間段,為指定的某個時間區間之間,包含正負時間;

  • timestamp:時間戳,但并不是真正意義上的時間戳,其是從1970年開始計算的,格式和datetime一致;

  • year:年份,共有兩種格式,分別為year(2)和year(4).

執行如下 SQL 語句創建日期時間表,進行測試:

--?創建日期時間表create?table?my_date( ????d1?datetime, ????d2?date, ????d3?time, ????d4?timestamp, ????d5?year)charset?utf8;

當咱們插入數據時,日期時間型中的time,可以為負數,甚至可以是很大的負數;year,可以使用 2 位數據插入,也可以使用 4 位數據插入;timestamp,只要當前所在的記錄被更新,該字段就會自動更新為當前時間,且時間戳類型默認為非空的。

--?插入測試數據insert?into?my_date?values?('2017-05-06?13:15:00','2017-05-06','13:15:00','2017-05-06?13:15:00',2017);insert?into?my_date?values?('2017-05-06?13:15:00','2017-05-06','-113:15:00','2017-05-06?13:15:00',69);insert?into?my_date?values?('2017-05-06?13:15:00','2017-05-06','-2?13:15:00','2017-05-06?13:15:00',70);

MySQL 教程之列類型中的日期時間型

如上圖所示,以上 3 條記錄已經插入成功,接下來,咱們再來驗證更新記錄時,時間戳類型的字段d4是否會自動更新:

--?更新記錄,驗證時間戳類型的字段是否會自動更新update?my_date?set?d1?=?'2017-05-06?13:24:00'?where?d5?=?1970;

MySQL 教程之列類型中的日期時間型

如上圖所示,顯然咱們的結論全部得到了驗證。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享