https://www.codercto.com/a/19285.html
數值數據類型
數字數據類型用於指定表中的數字數據。
名稱 | 描述 | 存儲大小 | 范圍 |
---|---|---|---|
smallint | 存儲整數,小范圍 | 2字節 | -32768 至 +32767 |
integer | 存儲整數。使用這個類型可存儲典型的整數 | 4字節 | -2147483648 至 +2147483647 |
bigint | 存儲整數,大范圍。 | 8字節 | -9223372036854775808 至 9223372036854775807 |
decimal | 用戶指定的精度,精確 | 變量 | 小數點前最多為131072個數字; 小數點后最多為16383個數字 |
numeric | 用戶指定的精度,精確 | 變量 | 小數點前最多為131072個數字; 小數點后最多為16383個數字 |
real | 可變精度,不精確 | 4字節 | 6位數字精度 |
double | 可變精度,不精確 | 8字節 | 15位數字精度 |
smallserial | 自動遞增整數 | 2字節 | 1 至 32767 |
serial | 自動遞增整數 | 4字節 | 1 至 2147483647 |
bigserial | 大的自動遞增整數 | 8字節 | 1 至 9223372036854775807 |
其實當我們在選擇使用int的類型的時候,不論是int(3)還是int(11),它在數據庫里面存儲的都是4個字節的長度,在使用int(3)的時候如果你輸入的是10,會默認給你存儲位010,也就是說這個3代表的是默認的一個長度,當你不足3位時,會幫你不全,當你超過3位時,就沒有任何的影響。
整數類型
常用的類型是integer,因為它提供了在范圍、存儲空間和性能之間的最佳平衡。一般只有在磁盤空間緊張的時候才使用 smallint類型。而只有在integer的范圍不夠的時候才使用bigint。
字符串數據類
數據類型 | 描述 |
---|---|
char(size) | 這里 size 是要存儲的字符數。固定長度字符串,右邊的空格填充到相等大小的字符。 |
character(size) | 這里 size 是要存儲的字符數。 固定長度字符串。 右邊的空格填充到相等大小的字符。 |
varchar(size) | 這里 size 是要存儲的字符數。 可變長度字符串。 |
character varying(size) | 這里 size 是要存儲的字符數。 可變長度字符串。 |
text | 可變長度字符串。 |
如果我們明確地把一個值造型成character varying(n)或者character(n),那么超長的值將被截斷成n個字符,而不會拋出錯誤(這也是SQL標准的要求)。
varchar(n)和char(n)的概念分別是character varying(n)和character(n)的別名。沒有長度聲明詞的character等效於character(1)。如果不帶長度說明詞使用character varying,那么該類型接受任何長度的串。后者是一個PostgreSQL的擴展。
類型character的值物理上都用空白填充到指定的長度n, 並且以這種方式存儲和顯示。不過,拖尾的空白被當作是沒有意義的,並且在比較兩個 character類型值時不會考慮它們。
一些其他數據類型
布爾類型:
名稱 | 描述 | 存儲大小 |
---|---|---|
boolean | 它指定 true 或 false 的狀態。 |
1字節 |
貨幣類型:
名稱 | 描述 | 存儲大小 | 范圍 |
---|---|---|---|
money | 貨幣金額 | 8字節 | -92233720368547758.08 至+92233720368547758.07 |
幾何類型:
https://www.cnblogs.com/phplearnings/p/3647104.html int(4),int的區別