時間日期類型 1、Date 日期類型:系統使用三個位元組來存儲數據,對應的格式為:YYYY-mm-dd,能表示的範圍是從1000-01-01 到9999-12-12,初始值為0000-00-00 2、Time 時間類型:能夠表示某個指定的時間,但是系統同樣是提供3個位元組來存儲,對應的格式為:HH:ii ...
時間日期類型
1、Date
日期類型:系統使用三個位元組來存儲數據,對應的格式為:YYYY-mm-dd,能表示的範圍是從1000-01-01 到9999-12-12,初始值為0000-00-00
2、Time
時間類型:能夠表示某個指定的時間,但是系統同樣是提供3個位元組來存儲,對應的格式為:HH:ii:ss,但是mysql中的time類型能夠表示時間範圍要大的多,能表示從-838:59:59~838:59:59,在mysql中具體的用處是用來描述時間段。
3、Datetime
日期時間類型:就是將前面的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
4、Timestamp
時間戳類型:mysql中的時間戳只是表示從格林威治時間開始,但是其格式依然是:YYYY-mm-dd HH:ii:ss
5、Year
年類型:占用一個位元組來保存,能表示1900~2155年,但是year有兩種數據插入方式:0~99和四位數的具體年
① 創建對應的時間日期類型的數據表
② 插入數據:正常數據
③ year的特殊性:可以採用兩位數的數據插入,也可以採用四位數的年份插入
④ year進行兩位數插入的時候,有一個區間劃分,零界點為69和70:當輸入69以下,那麼系統時間為20+數字,如果是70以上,那配系統時間為19+數字
⑤ timestamp當對應的數據被修改的時候,會自動更新(這個被修改的數據不是自己)
⑥ time類型特殊性:本質是用來表示時間區間(當前時間之後的多少個小時),能表示的範圍比較大
⑦ 在進行時間類型錄入的時候(time)還可以使用一個簡單的日期代替時間,在時間格式之前加一個空格,然後指定一個數字(可以是負數):系統會自動將該數字轉換成天數 * 24小時,再加上後面的時間。
PHP中有著非常強大的時間日期轉換函數:date將時間戳轉換成想要的格式,strtotime又可以將很多格式轉換成對應的時間戳。PHP通常不需要資料庫來幫助處理這麼複雜的時間日期,所以通常配合PHP的時候,時間的保存通常使用時間戳(真正),從而用整型來保存。字元串型
Mysql記錄長度
在mysql中,有一項規定:mysql的記錄長度(record == 行row)總長度不能超過65535個位元組。
Varchar能夠存儲的理論值為65535個字元:字元在不同的字元集下可能占用多個位元組。
① 創建表:證明varchar在mysql中能夠達到的理論值(utf8和GBK)
Varchar除了存儲的數據本身要占用空間:還需要額外的空間來保存記錄長度
② 計算在utf8和GBK下對應的varchar能夠存儲的長度
Utf8 最多只能存儲21844個字元
GBK最多只能存儲32766個字元