資料型別是定義列中可以儲存什麼資料以及該資料實際怎樣儲存的基本規則。
資料型別用於以下目的:
資料型別允許限制可儲存在列中的資料。
資料型別允許在內部更有效地儲存資料。
資料型別允許變換排序順序。
串資料型別儲存串,如名字,位址,**號碼,郵政編號等等。
有兩種基本的串型別:定長串和變長串。
串資料型別
資料型別
說明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...