解釋分析MySQL資料型別

2021-05-21 18:22:19 字數 1802 閱讀 1775

資料庫儲存中的資料型別與大小各異。有些地方只儲存數字型別,有些只儲存文字型別,有些二者而兼之。而很多資料庫支援各種專用型別:日期和時間型別,二進位制字元型別以及布林型別。選擇資料型別與資料相匹配是資料庫設計中最為重要的部分,因為這種型別將會影響到rdbms的效率與效能。所以,對rdbms的資料型別選擇應給予足夠的重視。 這就是編寫本文的主要目的。表a將列舉了mysql支援的絕大部分重要的資料型別,而mysql是當前最為流行的免費rdbms。文中還描述了何時與如何使用這些資料型別。這將有助於建立乙個資料庫的合理設計。表a

資料型別

描述位元組

推薦使用

smallint

整數,從-32000到+32000範圍2

儲存相對比較小的整數。 比如: 年紀,數量

int

整數,從-2000000000 到+2000000000 範圍4

儲存中等整數 例如: 距離

bigint

不能用smallint 或int描述的超大整數。8

儲存超大的整數 例如: 科學/數學資料

float

單精度浮點型資料4

儲存小數資料 例如:測量,溫度

double

雙精度浮點型資料8

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

decimal

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

變數;取決於精度與長度

以特別高的精度儲存小數資料。 例如:貨幣數額,科學資料

char

固定長度的字串

特定字串長度(高達255字元)

儲存通常包含預定義字串的變數 例如: 定期航線,國家或郵編

varchar

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

變數; 1 + 實際字串長度(高達255 字元)

儲存不同長度的字串值(高達乙個特定的最大限度). 例如:名字,密碼,短文標籤

text

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

variable; 2 +

聽actual string length

儲存大型文字資料 例如: 新聞故事,產品描述

blob

二進位制字串

變數;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

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

1或2個位元組

儲存字元屬性,只能從中選擇之一 例如:布林量選擇,如性別

set

一組資料,使用者可從中選擇其中0,1或更多。

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

儲存字元屬性,可從中選擇多個字元的聯合。 例如:多選項選擇,比如業餘愛好和興趣。

對於乙個完整的列表和詳細描述,可以檢視mysql manual。你也可以閱讀文章choosing the right type for a column。

mysql資料型別分析 mysql資料型別選擇分析

1 char varchar text的選擇 原則,最通用的並不是最適合的。因為更改資料型別會耗費很長的時候,在定義的時候需要謹慎 例如存放密碼的md5加密資料,那麼我們就絕對用char 32 因為char使用固定的block,具有更快的偏移速度。例如存放使用者名稱這樣的資料,長的使用者名稱最多也就...

MySQL入門 資料型別分析

mysql的資料型別主要分為三類 數字型 字串型 日期和時間型別 需要學習者著重了解的是char與varchar的固定長度與可變長度的意義 int m 所代表的意義整型 部分 型別位元組 tinyint 1bool 1smallint 2int 也就是integer 4bigint 8浮點 部分 型...

mysql空間資料型別解釋 MySQL空間資料型別

mysql空間資料型別講解 mysql具有與opengis類對應的資料型別。某些型別只能儲存單個幾何值 geometry point linestring polygon geometry能夠儲存任何型別的幾何值。其他的單值型別point linestring以及polygon只能儲存特定幾何型別的...