程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 解析MySQL數據類型 避免數據庫設計出現混亂

解析MySQL數據類型 避免數據庫設計出現混亂

編輯:關於MYSQL數據庫
數據庫存儲中的數據類型與大小各異。有些地方只存儲數字類型,有些只存儲文本類型,有些二者而兼之。而很多數據庫支持各種專用類型:日期和時間類型,二進制字符類型以及布爾類型。

  選擇數據類型與數據相匹配是數據庫設計中最為重要的部分,因為這種類型將會影響到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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved