理解MySQL資料型別 避免資料庫設計出現混亂

2021-04-22 07:09:27 字數 3131 閱讀 3624

理解mysql資料型別避免資料庫設計出現混亂

本文突出介紹了mysql支援的很多重要的資料型別,並介紹如何使用。

資料庫儲存中的資料型別與大小各異。有些地方只儲存數字型別,有些只儲存文字型別,有些二者而兼之。而很多資料庫支援各種專用型別:日期和時間型別,二進位制字元型別以及布林型別。

選擇資料型別與資料相匹配是資料庫設計中最為重要的部分,因為這種型別將會影響到

rdbms

的效率與效能。所以,對

rdbms

的資料型別選擇應給予足夠的重視。

這就是編寫本文的主要目的。表

a將列舉了

mysql

支援的絕大部分重要的資料型別,而

mysql

是當前最為流行的免費

rdbms

。文中還描述了何時與如何使用這些資料型別。這將有助於建立乙個資料庫的合理設計。

a

資料型別

描述

位元組

推薦使用

tinyint

非常小的整數

有符號值:

-128

到127

無符號值:0到

2551

smallint

整數,有符號值:

-32768

到32767

無符號值:0到

65535

2

儲存相對比較小的整數。

比如:

年紀,數量

數值前可放乙個負號

「-」以表示負值。

int

整數,有符號值:

-2147683648

到2147683647

(- 231

到231- 1

)無符號值:0到

4294967295(0

到232 - 1)4

儲存中等整數

例如:

距離bigint

不能用smallint

或int

描述的超大整數。

8

儲存超大的整數

例如: 科學/

數學資料

float

單精度浮點型資料

4

儲存小數資料例如:

測量,溫度

double

雙精度浮點型資料

8

需要雙精度儲存的小數資料例如:

科學資料

decimal

使用者自定義精度的浮點型資料變數;

取決於精度與長度

以特別高的精度儲存小數資料。例如:

貨幣數額,科學資料

char

固定長度的字串

特定字串長度(高達

255字元

)

儲存通常包含預定義字串的變數

例如:

定期航線,國家或郵編

varchar

具有最大限制的可變長度的字串

變數; 1 +

實際字串長度(高達

255 字元)

儲存不同長度的字串值

(高達乙個特定的最大限度

). 例如:

名字,密碼,短文標籤

tinytext

非常小的文字串

最大尺寸2

8- 1

位元組text

沒有最大長度限制的可變長度的字串

最大尺寸2

16- 1

位元組variable; 2 +

聽actual string length

儲存大型文字資料

例如:

新聞故事,產品描述

blob

二進位制字串

最大尺寸2

16- 1

位元組變數;

2 +

實際字串長度

儲存二進位制資料例如:

,附件,二進位制文件

date

以yyyy-mm-dd

格式的日期

3

儲存日期例如:

生日,產品滿期

time

以hh:mm:ss

格式的時間

3

儲存時間或時間間隔例如:

報警聲,兩時間之間的間隔,任務開始

/結束時間

datetime

以yyyy-mm-ddhh:mm:ss

格式結合日期和時間

8

儲存包含日期和時間的資料例如:

提醒的人,事件

timestamp

以yyyy-mm-ddhh:mm:ss

格式結合日期和時間

4

記錄即時時間

例如:事件提醒器,

「最後進入

」的時間標記

year

以yyyy

格式的年份

1

儲存年份例如:

畢業年,出生年

enum

一組資料,使用者可從中選擇其中乙個

最大尺寸65535

個成員1或2

個位元組儲存字元屬性,只能從中選擇之一例如:

布林量選擇,如性別

set

一組資料,使用者可從中選擇其中0,

1或更多。

最大尺寸64

個成員從1到

8位元組;取決於設定的大小

儲存字元屬性,可從中選擇多個字元的聯合。例如:

多選項選擇,比如業餘愛好和興趣。

對於乙個完整的列表和詳細描述,可以檢視

mysql manual

。你也可以閱讀文章

choosing the right type for a column

理解MySQL資料型別 避免資料庫設計出現混亂

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

理解MySQL資料型別 避免資料庫設計出現混亂

本文突出介紹了mysql支援的很多重要的資料型別,並介紹如何使用。資料庫儲存中的資料型別與大小各異。有些地方只儲存數字型別,有些只儲存文字型別,有些二者而兼之。而很多資料庫支援各種專用型別 日期和時間型別,二進位制字元型別以及布林型別。選擇資料型別與資料相匹配是資料庫設計中最為重要的部分,因為這種型...

理解MySQL資料型別

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