MySQL中的資料型別

2021-07-04 09:35:24 字數 2382 閱讀 1025

zz: 

zz : 

mysql有三大類資料型別, 分別為數字、日期\時間、字串, 這三大類中又更細緻的劃分了許多子型別:

日期和時間: date、time、datetime、timestamp、year

字串型別

1、整型

mysql資料型別

含義(有符號)

tinyint(m)

1個位元組  範圍(-128~127)

smallint(m)

2個位元組  範圍(-32768~32767)

mediumint(m)

3個位元組  範圍(-8388608~8388607)

int(m)

4個位元組  範圍(-2147483648~2147483647)

bigint(m)

8個位元組  範圍(+-9.22*10的18次方)

取值範圍如果加了unsigned,則最大值翻倍,如tinyint unsigned的取值範圍為(0~256)。 

int(m)裡的m是表示select查詢結果集中的顯示寬度,並不影響實際的取值範圍,沒有影響到顯示的寬度,不知道這個m有什麼用。

2、浮點型(float和double)

mysql資料型別

含義float(m,d)

單精度浮點型    8位精度(4位元組)     m總個數,d小數字

double(m,d)

雙精度浮點型    16位精度(8位元組)    m總個數,d小數字

設乙個字段定義為float(5,3),如果插入乙個數123.45678,實際資料庫裡存的是123.457,但總個數還以實際為準,即6位。

3、定點數

浮點型在資料庫中存放的是近似值,而定點型別在資料庫中存放的是精確值。 

decimal(m,d) 引數m<65 是總個數,d<30且 d4、字串(char,varchar,_text)

mysql資料型別

含義char(n)

固定長度,最多255個字元

varchar(n)

固定長度,最多65535個字元

tinytext

可變長度,最多255個字元

text

可變長度,最多65535個字元

mediumtext

可變長度,最多2的24次方-1個字元

longtext

可變長度,最多2的32次方-1個字元

char和varchar:

1.char(n) 若存入字元數小於n,則以空格補於其後,查詢之時再將空格去掉。所以char型別儲存的字串末尾不能有空格,varchar不限於此。 

2.char(n) 固定長度,char(4)不管是存入幾個字元,都將占用4個位元組,varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),所以varchar(4),存入3個字元將占用4個位元組。 

3.char型別的字串檢索速度要比varchar型別的快。

varchar和text: 

1.varchar可指定n,text不能指定,內部儲存varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),text是實際字元數+2個位元組。 

2.text型別不能有預設值。 

3.varchar可直接建立索引,text建立索引要指定前多少個字元。varchar查詢速度快於text,在都建立索引的情況下,text的索引似乎不起作用。

5.二進位制資料(_blob)

1._blob和_text儲存方式不同,_text以文字方式儲存,英文儲存區分大小寫,而_blob是以二進位制方式儲存,不分大小寫。 

2._blob儲存的資料只能整體讀出。 

3._text可以指定字符集,_blo不用指定字符集。

6.日期時間型別

mysql資料型別

含義date

日期 '2008-12-2'

time

時間 '12:25:36'

datetime

日期時間 '2008-12-2 22:06:44'

timestamp

自動儲存記錄修改時間

若定義乙個欄位為timestamp,這個欄位裡的時間資料會隨其他字段修改的時候自動重新整理,所以這個資料型別的字段可以存放這條記錄最後被修改的時間。

資料型別的屬性

mysql關鍵字

含義null

資料列可包含null值

not null

資料列不允許包含null值

default

預設值primary key

主鍵auto_increment

自動遞增,適用於整數型別

unsigned

無符號character set name

指定乙個字符集

MYSQL中的資料型別

mysql支援大量的列型別,它可以被分為3類 數字型別 日期和時間型別以及字串 字元 型別。本節首先給出可用型別的乙個概述,並且總結每個 列型別的儲存需求,然後提供每個類中的型別性質的更詳細的描述。概述有意簡化,更詳細的說明應該考慮到有關特定列型別的附加資訊,例如你能為其指定值的允 許格式。由mys...

mysql 中的資料型別

mysql 中的資料型別 2008 01 29 13 23 資料型別 描述位元組 推薦使用 smallint 整數,從 32000到 32000範圍 2儲存相對比較小的整數。比如 年紀,數量 int整數,從 2000000000 到 2000000000 範圍 4儲存中等整數 例如 距離 bigin...

MySQL中的資料型別

資料型別 描述 位元組 推薦使用 allint 整數,從 32000到 32000範圍 2 儲存相對比較小的整數。比如 年紀,數量 int 整數,從 2000000000 到 2000000000 範圍 4 儲存中等整數 例如 距離 bigint 不能用 allint 或 int描述的超大整數。8 ...