mysql 數字型別的長度區別

2022-09-17 19:33:16 字數 3077 閱讀 6868

mysql整型bigint、int、mediumint、smallint 和 tinyint的語法介紹,如下:

1、bigint

從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型資料(所有數字),無符號的範圍是0到

18446744073709551615。一位為 8 個位元組。

2、int

乙個正常大小整數。有符號的範圍是-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型資料(所有數字),無符號的範圍是0到4294967295。一位大小為 4 個位元組。

int的 sql-92 同義詞為integer

3、mediumint

乙個中等大小整數,有符號的範圍是-8388608到8388607,無符號的範圍是0到16777215。 一位大小為3個位元組。

4、smallint

乙個小整數。有符號的範圍是-2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型資料,無符號的範圍是0到65535。一位大小為 2 個位元組。mysql提供的功能已經綽綽有餘,而且由於mysql是開放原始碼軟體,因此可以大大降低總體擁有成本。

5、tinyint

有符號的範圍是-128 - 127,無符號的範圍是 從 0 到 255 的整型資料。一位大小為 1 位元組。

單位換算

1kb = 1024b  位元組 "byte" 單位b

1b = 8b  位 "bit" 單位b

1個字母(數字和單詞) = 1b = 8位

mysql中各資料型別的取值範圍 :

tinyint

-128 - 127 

tinyint unsigned

0 - 255 

smallint

-32768 - 32767 

smallint unsigned

0 - 65535 

mediumint

-8388608 - 8388607 

mediumint unsigned

0 - 16777215 

int 或 integer

-2147483648 - 2147483647 

int unsigned 或 integer unsigned

0 - 4294967295 

bigint

-9223372036854775808 - 9223372036854775807 

bigint unsigned

0 - 18446744073709551615 

float

-3.402823466e+38 - -1.175494351e-38,0,1.175494351e-38 - 3.402823466e+38 

double 或 double precision 或 real

-1.7976931348623157e+308 - -2.2250738585072014e-308,0,2.2250738585072014e-308 - 1.7976931348623157e+308 

decimal[(m,[d])] 或 numeric(m,d)

由m(整個數字的長度,包括小數點,小數點左邊的位數,小數點右邊的位數,但不包括負號)和d(小數點右邊的位數)來決定,m預設為10,d預設為0 

date

1000-01-01 - 9999-12-31 

datetime

1000-01-01 00:00:00 - 9999-12-31 23:59:59 

timestamp

1970-01-01 00:00:00 - 2023年

time

-838:59:59' to 838:59:59 

year[(2|4)]

預設為4位格式,4位格式取值範圍為1901 - 2155,0000,2位格式取值範圍為70-69(1970-2069) 

char(m) [binary] 或 nchar(m) [binary]

m的範圍為1 - 255,如果沒有binary項,則不分大小寫,nchar表示使用預設的字符集.在資料庫中以空格補足,但在取出來時末尾的空格將自動去掉. 

[national] varchar(m) [binary]

m的範圍為1 - 255.在資料庫中末尾的空格將自動去掉. 

tinyblob 或 tinytext

255(2^8-1)個字元 

blob 或 text

65535(2^16-1)個字元 

mediumblob 或 mediumtext

16777215 (2^24-1)個字元 

longblob 或 longtext

4294967295 (2^32-1)個字元 

enum('value1','value2',...)

可以總共有65535個不同的值 

set('value1','value2',...)

mysql 長度 含義 mysql資料型別長度

1個位元組 8位 tinyint 為乙個位元組 2的8次方 256 所以最多儲存到256 日期和時間資料型別 mysql資料型別 含義date 3位元組,日期,格式 2014 09 18 time 3位元組,時間,格式 08 42 30 datetime 8位元組,日期時間,格式 2014 09 1...

MySQL資料型別的長度

mysql有幾種資料型別可以限制型別的 長度 有char length varchar length tinyint length smallint length mediumint length int length bigint length float length,decimals doub...

Mysql 整型型別及長度

使用精確的資料型別是乙個良好的習慣。bigint 型別 儲存大小8位元組 2 63 9223372036854775808 到 2 63 1 9223372036854775807 int 型別 儲存大小4位元組 2 31 2,147,483,648 到 2 31 1 2,147,483,647 s...