標籤:round time 指定 span mysq 數實值型別 php date 佔用
數實值型別
整數型 tinyint smallint mediumint int|integer bigint
注意:
1, 如何選擇資料類型,我們的原則是:夠用就行!盡量的選擇佔用記憶體小的整型,而且效率也更快!
2,可以使用unsigned來控制是否有符號位,如果不寫,預設值是有符號的
MySQL不會進行自動類型轉換,如果超出了指定類型的範圍,就直接報錯!
3,可以指定資料顯示的最小寬度,以達到統一顯示的目的,通常的做法就是使用zerofill來進行填充
如果插入的資料,超出了指定的顯示寬度,不影響原有的資料,該怎麼顯示就怎麼顯示:
4,其實,在MySQL中,也有bool型,但其實就是tinyint(1)的別名!
小數型 又可以分成浮點數和定點數!
浮點數 分成了單精確度型和雙精確度型!其中單精確度占4個位元組,而雙精確度占8個位元組!
單精確度的有效位在6-7位之間,而雙精確度的有效位在16-17位之間!所以,我們在插入浮點數的時候也要注意,有時候沒有超過浮點數的範圍,但是超出了浮點數的精度!
注意: 1,浮點數還支援控制數位範圍,文法形式為:type(M,D)這裡的type是指float或double!
M:表示是所有數值位的範圍(包括整數和小數部分,不包括小數點)D:表示小數的位元的範圍,小數超出的部分會四捨五入
2,同php一樣,浮點數也支援科學計數法
定點數 採用定點數儲存!關鍵字:decimal
定點數策略:每當出現連續的9位元的時候,用4個位元組單獨儲存,而且整數部分和小數部分分開儲存!
定點數優缺點: 優點:所有的資料都會被精確的儲存,不會造成資料的丟失! 缺點:佔用的空間較大
注意:1, decimal同樣支援decimal(M,D)文法此時,M指的是總位元,D代表小數的位元,預設的情況下,M為10,D為0
2, decimal同樣也支援zerofill文法由於貨幣值往往都是decimal型,所以decimal型也叫作貨幣型!
日期時間型
datetime 和 timestamp
datetime和timestamp的顯示形式和插入形式基本上是一樣的,只是儲存形式和能表示的日期的範圍不一樣,在timestamp中儲存是整型,但是其顯示形式和插入形式和datetime一樣都是年月日時分秒
注意: 插入資料的時候可以支援任意的格式,使用什麼分隔字元不重要,日期的範圍和格式才重要!
另外,還可以使用mysql內部的一個函數now()來插入,意思就是當前的年月日時分秒
date 相當於datetime的一個“子集”,只有年與日沒有時分秒!
time time型有兩個含義:1, 一天中的時間(也就是datetime中的一個“子集”,只有時分秒)
2, 表示時間間隔,表示時間的間隔的時候,格式為,D HH:MM:SS也就是 天 時:分:秒
year 只表示年份,但是年份可以簡寫,比如現實中98年認為是1998年!範圍比較小,只能是1901年到2155年,因為只佔一個位元組!
注意: 如果年份唯寫兩位,大於等於70的就代表19XX年,小於等於69的代表20XX年!
MySQL的數實值型別,時間