數據類型(列類型-時間日期類型和字符串類型)


時間日期類型


Datetime:時間日期,格式是YYYY-mm-dd HH:ii:ss,表示的范圍是從1000到9999年,有0值:
0000-00-00 00:00:00
Date:日期,就是datatime中的date部分
Time:時間(段),指定的某個區間之間,負時間到正時間
Timestamp:時間戳,並不是時間戳,只是從1970年開始的YYYY-mm-dd HH:ii:ss 格式與datetime完全一致
Year:年份。兩種形式,year(2)和year(4):1901-2156


創建時間日期表

插入數據:時間可以是負數,而且可以使很大的負數,

 

 

Timestamp字段:只要當前所在的記錄被更新,該字段一定會自動更新成當前時間

 


網站是以PHP為實現的主要操作對象:PHP中有非常強大的時間日期處理函數:date,只需要一個時間戳就可以轉換成任意類型的時間:以PHP為主的時候,都是在數據庫使用時間戳(整型)來存儲時間

 

 

字符串類型

 

在SQL中,將字符串類型分成了6類:char,varchar,text,blob,enum和set

定長字符串


定長字符串:char ,磁盤(二維表)在定義結構的時候,就已經確定了最終數據的存儲長度

char(L):L代表length,可以存儲的長度,單位為字符,最大長度值可以為255
char(4):在UTF8環境下,需要4*3=12個字節

變長字符串
變長字符串:varchar,在分配空間的時候,按照最大的空間分配:但是實際上最終用了多少,是根據具體的數據來確定
varhcar(L):L表示字符長度 理論上長度是65536個字節,但是會多出一到兩個字節來確定存儲的實際長度:但是實際上如果長度超過了255,既不用定長也不用變長,使用文本字符串text
varchar(10) :的確存了10個漢字,utf8環境,10*3+1=31(bytes)
存儲了3個漢字:3*3+1=10(bytes)
定長與變長的存儲實際空間(UTF8)
實際存儲數據char(4)varchar(4)char占用字節varchar占用空間ABCDABCDABCD4*3=124*3+1=13AAA4*3=121*3+1=4ABCDE✘✘數據超過長度數據超過長度

如何選擇定長或者變長字符串呢?
定長的磁盤空間比較浪費,但是效率高:如果數據基本上確定長度都一樣,就使用定長,如身份證號,電話號碼等
變長的磁盤空間比較節省,但是效率低;如果數據不能確定長度(不同數據有變化),如姓名,地址等

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM