MySQL MySQL資料型別總結

2021-05-28 01:01:04 字數 2249 閱讀 9037

資料型別是定義列中可以儲存什麼資料以及該資料實際怎樣儲存的基本規則。

資料型別用於以下目的:

資料型別允許限制可儲存在列中的資料。

資料型別允許在內部更有效地儲存資料。

資料型別允許變換排序順序。

串資料型別儲存串,如名字,位址,**號碼,郵政編號等等。

有兩種基本的串型別:定長串和變長串。

串資料型別

資料型別

說明char

1-255個字元的定長串。它的長度必須在建立時指定,否則mysql假定為char(1)

enum

接受最多64k個串組成的乙個預定義集合的某個串

longtext

與text相同,但最大長度是4gb

mediumtext

與text相同,但最大長度為16k

set接受最多64個串組成的乙個預定義集合的零個或者多個串

text

最大長度為64k的變長文字

tinytext

與text相同,但最大長度為255位元組

varchar

長度可變,最多不超過255位元組。如果在建立時指定為varchar(n),則可儲存0到n個字元的變長串(其中n≤255)

定長串接受長度固定的字串,其長度是在建立表時指定的。定長列不允許多於指定的字元數目。它們分配的儲存空間與指定的一樣多。

變長串儲存可變長度的文字。

mysql處理定長列遠比處理變長列快的多。此外,mysql不允許對變長列進行索引。

使用引號:不管使用何種形式的串資料型別,串值都必須括在引號內(通常是單引號更好)。

需要遵守的基本原則是:如果數值是計算(求和,平均等)中使用的數值,則應該儲存在數值資料型別列中。如果作為字串(可能只包含數字)使用,則應該儲存在串資料型別列中。

數值資料型別

資料型別

說明bit

位欄位,1~64位。

bigint

整數值,支援-9223372036854775808~9223372036854775807(如果是unsigned,為0~18446744073709551615)的數

boolean(或bool)

布林標誌,或者為0或者為1,主要用於開/關(on/off)標誌

decimal(或dec)

精度可變的浮點值

double

雙精度浮點值

float

單精度浮點值

int(或integer)

整數值,支援-2147483648~2147483647(如果是unsigned,為0~4294967295)的數

mediumint

整數值,支援-8388608~8388607(如果是unsigned,為0~16777215)的數

real

4位元組的浮點數

smallint

整數值,支援-32768~32767(如果是unsigned,為0~65535)的數

tinyint

整數值,支援-128~127 (如果為unsigned,為0~255)的數

除了bit和boolean以外,所有數值資料型別都可以有符號或者無符號。有符號數值列可以儲存正或負的數值,無符號數值列只能儲存正數。預設情況為有符號,但如果知道自己不需要儲存負值,可以使用unsigned關鍵字,這樣做將允許儲存兩倍大小的值。

不使用引號!與串不一樣,數值不應該括在引號內。

mysql使用專門的資料型別來儲存日期和時間值。

日期和時間資料型別

資料型別

說明date

表示1000-01-01~9999-12-31的日期,格式為yyyy-mm-dd

datetime

date和time的組合

timestamp

功能和datetime相同(但範圍較小)

time

格式為hh:mm:ss

year

用2位數字表示,範圍是70(2023年) ~69(2023年),用4位數字表示,範圍是2023年~2023年

二進位制資料型別可以儲存任何資料(包括二進位制資訊),如影象,多**,字處理文件等。

二進位制資料型別

資料型別

說明blob

blob最大長度為64kb

mediumblob

blob最大程度為16mb

longblob

blob最大長度為4gb

tinyblob

blob最大程度為255位元組

Mysql Mysql資料型別

在設計表時,應該特別重視所用的資料型別。使用錯誤的資料型別可能會嚴重地影響應用程式的功能和效能。更改包含資料的列不是一件小事 而且這樣做可能會導致資料丟失 最常見資料型別 整型 浮點型 字串 日期等 1.1 定長串 char 接受長度固定的字串,其長度是在建立表時指定的。定長列不允許儲存多於指定長度...

Mysql Mysql資料型別彙總

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

mysql mysql部分資料型別

1.數值 型別位元組大小 signed unsigned tinyint 1 128 127 0 255 smallint 2 32768 32767 0 65535 mediumint 3 8388608 8388607 0 16777215 int integer 4 2147483648 21...