07 MySQL 時間日期型別

2022-05-01 06:51:10 字數 1829 閱讀 6011

日期型別:系統使用三個位元組來儲存資料,對應的格式為:yyyy-mm-dd,能表示的範圍是從1000-01-01 到9999-12-12,初始值為0000-00-00

時間型別:能夠表示某個指定的時間,但是系統同樣是提供3個位元組來儲存,對應的格式為:hh:ii:ss,但是mysql中的time型別能夠表示時間範圍要大的多,能表示從-838:59:59~838:59:59,在mysql中具體的用處是用來描述時間段。

日期時間型別:就是將前面的date和time合併起來,表示的時間,使用8個位元組儲存資料,格式為yyyy-mm-dd hh:ii:ss,能表示的區間1000-01-01 00:00:00 到9999-12-12 23:59:59,其可以為0值:0000-00-00 00:00:00

時間戳型別:mysql中的時間戳只是表示從格林威治時間開始,但是其格式依然是:yyyy-mm-dd hh:ii:ss

年型別:占用乙個位元組來儲存,能表示1900~2023年,但是year有兩種資料插入方式:0~99和四位數的具體年

① 建立對應的時間日期型別的資料表

② 插入資料:正常資料

③ year的特殊性:可以採用兩位數的資料插入,也可以採用四位數的年份插入

④ year進行兩位數插入的時候,有乙個區間劃分,零界點為69和70:當輸入69以下,那麼系統時間為20+數字,如果是70以上,那配系統時間為19+數字

⑤ timestamp當對應的資料被修改的時候,會自動更新(這個被修改的資料不是自己)

⑥ time型別特殊性:本質是用來表示時間區間(當前時間之後的多少個小時),能表示的範圍比較大

⑦ 在進行時間型別錄入的時候(time)還可以使用乙個簡單的日期代替時間,在時間格式之前加乙個空格,然後指定乙個數字(可以是負數):系統會自動將該數字轉換成天數 * 24小時,再加上後面的時間。

php中有著非常強大的時間日期轉換函式:date將時間戳轉換成想要的格式,strtotime又可以將很多格式轉換成對應的時間戳。php通常不需要資料庫來幫助處理這麼複雜的時間日期,所以通常配合php的時候,時間的儲存通常使用時間戳(真正),從而用整型來儲存。字串型

在mysql中,有一項規定:mysql的記錄長度(record == 行row)總長度不能超過65535個位元組。

varchar能夠儲存的理論值為65535個字元:字元在不同的字符集下可能占用多個位元組。

① 建立表:證明varchar在mysql中能夠達到的理論值(utf8和gbk)

varchar除了儲存的資料本身要占用空間:還需要額外的空間來儲存記錄長度

②  計算在utf8和gbk下對應的varchar能夠儲存的長度

utf8 最多只能儲存21844個字元

gbk最多只能儲存32766個字元

MySQL 時間日期型別

表示時間值的日期和時間型別為datetime date timestamp time和year。每個時間型別有乙個有效值範圍和乙個 零 值,當指定不合法的mysql不能表示的值時使用 零 值。timestamp型別有專有的自動更新特性。型別大小 位元組 範圍格式 用途date 31000 01 01...

MySQL時間日期型別

mysql中的 時間型別 日期和時間型別 位元組 最小值 最大值date 4 1000 01 01 9999 12 31 datetime 8 1000 01 01 00 00 00 9999 12 31 23 59 59 timestamp 4 19700101080001 2038 年的某個時刻...

MySQL中的時間日期型別

mysql中共有5種時間日期型別 型別名稱 時間格式 取值範圍 mysql5.6.4之前儲存需求 位元組 mysql5.6.4開始儲存需求 位元組 year yyyy 1901 2155 11 date yyyy mm dd 1000 01 01 9999 12 333 time hh mm ss ...