標籤:
一切資料在計算中都是以二進位形式儲存,而8位位元就表示1個位元組。
通常我們說一種資料類型佔多少位元組,就是說這種資料類型可以表示多少位的位元,同時位元可以轉換為十進位數,進而得到這種資料類型可以表示多大的十進位數!
打個比方,MYSQL中的int型資料類型,大家都知道int型可以表示4個位元組,那就是32位二進位,32位二進位就能表示無符號十進位數0~4394967295.
所以我們給這個int資料類型賦值一個在0和4394967295之間的數就可以了,如果超出這個範圍系統就會報錯。
MYSQL資料類型分為幾種:
一:整型
資料類型 (顯示寬度)
| 整數型別 |
位元組數 |
無符號數的取值範圍 |
有符號數的取值範圍 |
| INT |
4 |
0~4394967295 |
-2147483648~2147483647 |
一般INT型在我們平常用的時候就足夠我們使用了,整型中還有一些不常用的:TINYINT(1),SMALLINT(2), MEDIUMINT(3),INTEGER(4),BIGINT(8).
二:浮點數和定點數
資料類型 (M, D)
| 整數型別 |
位元組數 |
負數的取值範圍 |
非負數的取值範圍 |
| FLOAT |
4 |
-3.402823466E+38~ -1.175494351E-38 |
0和1.175494351E-38~ 3.402823466E+38 |
M參數稱為精度,表示資料總長度,不算小數點。
D參數稱為標度,指小數點後面的長度。
其他的浮點型還有DOUBLE(8),定點型DECIMAL(M, D)或者DEC(M, D),由於MYSQL中的浮點型資料會出現誤差,如果需要精確的話建議使用DEC定點型。
三:日期和時間類型
| 整數型別 |
位元組數 |
取值範圍 |
零值 |
| DATETIME |
8 |
1000-01-01 00:00:00~ 9999-12-31 23:59:59 |
0000-00-00 00:00:00 |
表示日期時間一般都是用DATETIME類型,還有一些不常用的
YEAR(1): 只表示年份,範圍1901~2155
DATE(4): 只表示年月日,範圍1000-01-01~9999-12-31
TIME(3): 表示小時,分,秒。範圍-838:59:59~838:59:59
TIMESTAMP(4): 格式和DATETIME一樣,但是表示的範圍要小。
四:字串類型
字串類型(M)
CHAR(M): 固定為M個位元組長度儲存字串。
VARCHAR(M): 最長M個位元組長度,實際長度為存入字串的長度+1。
TEXT(M): 最長為65535位元組,實際儲存空間是存入字串的長度+2。
ENUM(‘VALUE1‘,‘VALUE2‘,...): 枚舉類型,範圍只能是列表中的值,MYSQL存入的是列表中的序號,如果插入的值不是列表中有的就會報錯。列表中值最多65535個
SET(‘VALUE1‘,‘VALUE2‘,...): 和枚舉類型差不多,但是列表中的值最多64個。
五:二進位類型
待續。。。
MYSQL資料庫學習----MYSQL資料類型