關於mysql的字段長度含義問題。

int的長度可不是本身定義的,系統已經定義好了。mysql

若是是varchar類型的 你定義一個1,絕對不能輸入abc。sql


int(m),integer(m) 32位整數(4字節....)

其實這個m跟INT能表示的範圍沒有關係,只要你選擇了INT,INT是用4個字節表示,1個字節8位,若表示無符號數時能夠表示的範圍是 0 ------- 2^32-1次方 ,你能夠存儲任何在這個範圍內的數字。
但也不是說跟表示徹底不要緊,mysql中有個zerofll,當建表時選擇了0 填充以後存儲就會有很大的不一樣,這時若是你選擇的是int(4) 你存儲12則數據庫中存儲的是0012,若是填寫12345,此時超過了他的指定寬度則按原樣存儲。數據庫

與int相相似的有:TINYINTSMALLINTMEDIUMINTINTBIGINT的長度,其實和數據的大小無關!Length指的是顯示寬度要用這個修飾zerofillspa



varchar(21845)這是varchar最大的值。ci

varchar 是變量字段,會根據你實際存儲的數據長度決定佔用的存儲空間,可是會有一個最大值,好比說varchar(200),那麼你最多隻能夠存儲200個字符,若是你存儲201個字符就會報錯。例如CHAR[3]則只能放字符串"123",若是插入數據"1234"則會報錯。 VARCAHR同理。字符串


相相似的有:CHAR(Length)VARCHAR(Length)TINYINT(Length)SMALLINT(Length)MEDIUMINT(Length)INT(Length)BIGINT(Length)FLOAT(Length, Decimals)DOUBLE(Length, Decimals)DECIMAL(Length, Decimals)變量

相關文章
相關標籤/搜索