mysql中的資料型別的長度

2021-06-13 19:50:54 字數 2904 閱讀 3761

前幾天,出去面試的同學回來說,hr問了乙個關於mysql資料型別的問題:儲存比text型別還大的字串時用什麼。好吧,這個我也不知道。所以,就查了一下,以下是網上copy來的,來自17jquery。

在mysql中建立表時,varchar型別必須指定長度,int型別可以不指定長度。當然,在mysql中使用介面建立表(不使用sql語句建立表),若不指定長度,它會為你指定預設長度,下面對mysql中常見的幾種資料型別的預設長度和最大長度進行了總結。內容來自17jquery

資料型別

預設長度

最大長度

varchar 一起jquery,17jquery

char 

255 17jquery.com

double 一起jquery,17jquery

0 17jquery.com

255 

floa t 

0 int 17jquery.com

11 255 

tinyint 內容來自17jquery

bigint 

date 

0 內容來自17jquery

datetime 內容來自17jquery 0 

text 內容來自17jquery 0

型別大小範圍(有符號)範圍(無符號)用途

tinyint

1 位元組

(-128,127)

(0,255)

小整數值

smallint

2 位元組

(-32 768,32 767)

(0,65 535)

大整數值

mediumint

3 位元組

(-8 388 608,8 388 607)

(0,16 777 215)

大整數值

int或integer

4 位元組

(-2 147 483 648,2 147 483 647)

(0,4 294 967 295)

大整數值

bigint

8 位元組

(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615)

極大整數值

float

4 位元組

(-3.402 823 466 e+38,1.175 494 351 e-38),0,(1.175 494 351 e-38,3.402 823 466 351 e+38)

0,(1.175 494 351 e-38,3.402 823 466 e+38)

單精度 一起jquery,17jquery

浮點數值

double

8 位元組

(1.797 693 134 862 315 7 e+308,2.225 073 858 507 201 4 e-308),0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)

0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)

雙精度浮點數值

decimal

對decimal(m,d) ,如果m>d,為m+2否則為d+2

依賴於m和d的值

依賴於m和d的值

小數值

字元型別

內容來自17jquery

char

0-255位元組

定長字串

varchar

0-255位元組

變長字串

tinyblob

0-255位元組

不超過 255 個字元的二進位制字串

tinytext

0-255位元組

短文本字串

blob

0-65 535位元組

二進位制形式的長文字資料

text

0-65 535位元組

長文字資料

mediumblob

0-16 777 215位元組

二進位制形式的中等長度文字資料

mediumtext

0-16 777 215位元組

中等長度文字資料

logngblob

0-4 294 967 295位元組

二進位制形式的極大文字資料

longtext

0-4 294 967 295位元組

極大文字資料

列舉、集合

enum (最多65535個成員) 64kb

set (最多64個成員) 64kb

時間型別

型別大小

(位元組)範圍格式用途

date

31000-01-01/9999-12-31

yyyy-mm-dd

日期值time

3'-838:59:59'/'838:59:59'

hh:mm:ss

時間值或持續時間

year

11901/2155

yyyy

年份值datetime

81000-01-01 00:00:00/9999-12-31 23:59:59

yyyy-mm-dd hh:mm:ss

混合日期和時間值

timestamp

81970-01-01 00:00:00/2037 年某時

yyyymmdd hhmmss

混合日期和時間值,時間戳 

mysql中資料型別的長度

因為最近要登記一些長度較大的數值,今天才仔細的檢視了bigint的範圍。以前都忽略了mysql中資料長度的上限問題。在mysql中建立表時,varchar型別必須指定長度,int型別可以不指定長度。當然,在mysql中使用介面建立表 不使用sql語句建立表 若不指定長度,它會為你指定預設長度,下面對...

mysql中資料型別的長度

因為最近要登記一些長度較大的數值,今天才仔細的檢視了bigint的範圍。以前都忽略了mysql中資料長度的上限問題。在mysql中建立表時,varchar型別必須指定長度,int型別可以不指定長度。當然,在mysql中使用介面建立表 不使用sql語句建立表 若不指定長度,它會為你指定預設長度,下面對...

MySQL資料型別的長度

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