1. 程式人生 > 資料庫 >SQL的常用資料型別列表詳解

SQL的常用資料型別列表詳解

資料型別 描述
CHARACTER(n) 字元/字串。固定長度 n。
VARCHAR(n) 或
CHARACTER VARYING(n)
字元/字串。可變長度。最大長度 n。
BINARY(n) 二進位制串。固定長度 n。
BOOLEAN 儲存 TRUE 或 FALSE 值
VARBINARY(n) 或
BINARY VARYING(n)
二進位制串。可變長度。最大長度 n。
INTEGER(p) 整數值(沒有小數點)。精度 p。
SMALLINT 整數值(沒有小數點)。精度 5。
儲存資料的範圍是從-2的15次方(-32768)到2的15次方-1(32767),佔用2個位元組的儲存空間。
INTEGER 整數值(沒有小數點)。精度 10。
儲存資料的範圍是-2的31次方到2的31次方-1,佔用4個位元組的儲存空間。
BIGINT 整數值(沒有小數點)。精度 19。
DECIMAL(p,s) 精確數值,精度 p,小數點後位數 s。例如:decimal(5,2) 是一個小數點前有 3 位數小數點後有 2 位數的數字。
NUMERIC(p,s) 精確數值,精度 p,小數點後位數 s。(與 DECIMAL 相同)
FLOAT(p) 近似數值,尾數精度 p。一個採用以 10 為基數的指數計數法的浮點數。該型別的 size 引數由一個指定最小精度的單一數字組成。
REAL 近似數值,尾數精度 7。
FLOAT 近似數值,尾數精度 16。
DOUBLE PRECISION 近似數值,尾數精度 16。
DATE 儲存年、月、日的值。
TIME 儲存小時、分、秒的值。
TIMESTAMP 儲存年、月、日、小時、分、秒的值。
INTERVAL 由一些整數字段組成,代表一段時間,取決於區間的型別。
ARRAY 元素的固定長度的有序集合
MULTISET 元素的可變長度的無序集合
XML 儲存 XML 資料

其中標紅的是在建表時常用的資料型別。

資料型別的名稱在不同資料庫平臺中有一些區別,在SQL Server和MY SQL中(或者還有其他平臺)數值型還有一個tinyint的型別(範圍從0到255)。

應該注意根據實際情況選用不同的資料型別。

一、定義資料長度太長會造成儲存空間的浪費。

例如:

對“姓名”欄位:中國人姓名一般不會太長,可以定義為char (10)。char(10)可以儲存5箇中文字元。而在需要考慮少數民族或者其他名字很長(例如外國人?)的情況下,則需要改成char(20)或者更長。

二、選擇型別不準確可能會造成對後續操作的影響。

例如:

對“年齡”欄位:理論上“年齡”可以定義成char和tinyint。當不需要對年齡進行計算時,定義成char是沒有問題的;但很多情況下,我們需要對年齡進行計算、排序和比較等操作,選用tinyint會方便一些。而且正常地球人壽命不超過150,smallint和int的範圍太大,造成空間浪費。

對“電話號碼”欄位:建議用varchar型別。電話號碼如果分固定電話和手機號碼的話,長度不一。而varchar比char更靈活,長度可變,而且儲存空間更小。