MySQL資料型別

2021-08-17 20:28:45 字數 3996 閱讀 3426

mysql

中定義資料欄位的型別對你資料庫的優化是非常重要的。

mysql

支援多種型別,大致可以分為三類:數值、日期

/時間和字串(字元

)型別。

mysql

支援所有標準

sql數值資料型別。

這些型別包括嚴格數值資料型別

(integer

、smallint

、decimal

和numeric)

,以及近似數值資料型別

(float

、real

和double precision)

。關鍵字

int是

integer

的同義詞,關鍵字

dec是

decimal

的同義詞。

bit資料型別儲存位字段值,並且支援

myisam

、memory

、innodb

和bdb

表。作為

sql標準的擴充套件,

mysql

也支援整數型別

tinyint

、mediumint

和bigint

。下面的表顯示了需要的每個整數型別的儲存和範圍。

型別

大小

範圍(有符號)

範圍(無符號)

用途

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)

單精度浮點數值

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的值小數值表示時間值的日期和時間型別為

datetime

、date

、timestamp

、time

和year

。每個時間型別有乙個有效值範圍和乙個"零

"值,當指定不合法的

mysql

不能表示的值時使用"零

"值。timestamp

型別有專有的自動更新特性,將在後面描述。

型別

大小(位元組

)

範圍

格式

用途

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

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

字串型別指

char

、varchar

、binary

、varbinary

、blob

、text

、enum

和set

。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。

型別

大小

用途

char

0-255

位元組定長字串

varchar

0-65535

位元組變長字串

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

位元組中等長度文字資料

longblob

0-4 294 967 295

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

longtext

0-4 294 967 295

位元組極大文字資料

char

和varchar

型別類似,但它們儲存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在儲存或檢索過程中不進行大小寫轉換。

binary

和varbinary

類類似於

char

和varchar

,不同的是它們包含二進位制字串而不要非二進位制字串。也就是說,它們包含位元組字串而不是字元字串。這說明它們沒有字符集,並且排序和比較基於列值位元組的數值值。

blob

是乙個二進位製大物件,可以容納可變數量的資料。有4種

blob

型別:tinyblob

、blob

、mediumblob

和longblob

。它們只是可容納值的最大長度不同。有4

種text

型別:tinytext

、text

、mediumtext

和longtext

。這些對應4種

blob

型別,有相同的最大長度和儲存需求。

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...