最新的Web開發教程
 

SQL對於各種DB數據類型


數據類型和為Microsoft Access,MySQL和SQL Server的範圍。


Microsoft Access數據類型

數據類型 描述 存儲
Text 用於文本或文本和數字的組合。 最多255個字符
Memo 備註用於較大數量的文本。 可存儲多達65,536個字符。 Note:您無法排序備註字段。 然而,他們搜索
Byte 允許整數從0到255 1個字節
Integer 允許-32,768 32,767之間的整數 2個字節
Long 允許-2,147,483,648和2,147,483,647之間的整數 4個字節
Single 單精度浮點。 處理大多數小數。 4個字節
Double 雙精度浮點。 處理大多數小數。 8個字節
Currency 使用的貨幣。 最多可容納15位的元,外加4位小數。 Tip:您可以選擇哪些國家的貨幣使用 8個字節
AutoNumber 自動編號字段自動為每條記錄自己的數字,通常從1開始。 4個字節
Date/Time 使用日期和時間 8個字節
Yes/No 邏輯字段,可以顯示為是/否,真/假,或開/關。 在代碼中,使用常量True和False(等價於1和0)。 Note:空值不允許是/否領域 1位
Ole Object 可以存儲圖片,音頻,視頻,或其他的BLOB(二進制大對象) 高達1GB
Hyperlink 包含鏈接到其他文件,包括網頁
Lookup Wizard 讓你鍵入一個選項列表,然後可以從下拉列表中選擇 4個字節

MySQL數據類型

在MySQL中有三種主要的類型:文本,數字和日期/時間類型。

Text types:

數據類型 描述
CHAR(size) 持有固定長度的字符串(可包含字母,數字和特殊字符)。 固定大小以括號指定。 可存儲多達255個字符
VARCHAR(size) 保存可變長度的字符串(可包含字母,數字和特殊字符)。 的最大尺寸是在括號中指定。 最多可存儲255個字符。 Note:如果你把一個更大的價值超過255它將被轉換為TEXT類型。
TINYTEXT 擁有255個字符的最大長度的字符串
TEXT 與持有的65,535個字符的最大長度的字符串
BLOB 於BLOB(二進制大對象)。 最多可容納65,535個字節的數據
MEDIUMTEXT 持有16,777,215個字符的最大長度的字符串
MEDIUMBLOB 於BLOB(二進制大對象)。 最多可容納16,777,215字節的數據
LONGTEXT 與持有的4,294,967,295個字符的最大長度的字符串
LONGBLOB 於BLOB(二進制大對象)。 最多可容納4,294,967,295字節的數據
ENUM(x,y,z,etc.) 讓你輸入可能值的列表。 您可以在ENUM列表中列出最大65535個值。 如果一個值將插入不在列表中,空值將被插入。

Note:這些值是按照你輸入的順序存儲的。

您在此格式輸入可能的值:ENUM('X','Y','Z')

SET 不同之處在於設置類似於ENUM可含有多達64個列表項,並且可以存儲一個以上的選擇

Number types:

數據類型 描述
TINYINT(size) -128到127正常。 0到255 UNSIGNED *。 的數字的最大數可以在括號中指定
SMALLINT(size) -32768到32767正常。 0到65535 UNSIGNED *。 的數字的最大數可以在括號中指定
MEDIUMINT(size) -8388608到8388607正常。 0到16777215 UNSIGNED *。 的數字的最大數可以在括號中指定
INT(size) -2147483648到2147483647正常。 0至4294967295 UNSIGNED *。 的數字的最大數可以在括號中指定
BIGINT(size) -9223372036854775808到9223372036854775807正常。 0到18446744073709551615 UNSIGNED *。 的數字的最大數可以在括號中指定
FLOAT(size,d) 少數帶有浮動小數點。 的最大位數可能在尺寸參數中指定。 的數字在小數點右側的最大數量在d參數指定
DOUBLE(size,d) 大量帶有浮動小數點。 的最大位數可能在尺寸參數中指定。 的數字在小數點右側的最大數量在d參數指定
DECIMAL(size,d) 一個雙存儲為一個字符串,允許固定的小數點。 的最大位數可能在尺寸參數中指定。 的數字在小數點右側的最大數量在d參數指定

*整數類型有一個名為UNSIGNED多了一種選擇。 正常情況下,整數從負變為正的值。 添加UNSIGNED所以它開始於零,而不是負數屬性將移動的範圍可達。

Date types:

數據類型 描述
DATE() 一個約會。 格式:YYYY-MM-DD

Note:支持的範圍是從“1000年1月1日”到“9999-12-31”

DATETIME() *日期和時間的組合。 格式:YYYY-MM-DD HH:MI:SS

Note:支持的範圍是從“1000年1月1日00:00:00”到“23:59:59 9999-12-31”

TIMESTAMP() *一個時間戳。 TIMESTAMP值存儲為自Unix紀元(“1970-01-01 00:00:00”UTC)的秒數。 格式:YYYY-MM-DD HH:MI:SS

Note:支持的範圍是從“1970-01-01 00:00:01”UTC為“2038年1月9日3時14分07秒”UTC

TIME() 一時間。 格式:HH:MI:SS

Note:支持的範圍是從'-838:59:59'到'838:59:59'

YEAR() 一年在兩位數或四位格式。

Note:值允許在四位格式:允許兩位數格式1901 2155值:70〜69,較年一九七○年至2069年

*即使DATETIME和TIMESTAMP返回相同的格式,他們的工作非常不同。 在INSERT或UPDATE查詢,時間戳自動將其自身設置為當前日期和時間。 TIMESTAMP也接受不同的格式,如YYYYMMDDHHMISS,YYMMDDHHMISS,YYYYMMDD或YYMMDD。


SQL Server數據類型

String types:

數據類型 描述 存儲
char(n) 固定寬度的字符串。 最多8,000個字符 定義的寬度
varchar(n) 可變寬度的字符串。 最多8,000個字符 2字節+字符數
varchar(max) 可變寬度的字符串。 最多1,073,741,824字符 2字節+字符數
text 可變寬度的字符串。 文本數據的最大2GB 4字節+字符數
nchar 固定寬度的Unicode字符串。 最大4000個字符 定義的寬度×2
nvarchar 可變寬度Unicode字符串。 最大4000個字符
nvarchar(max) 可變寬度Unicode字符串。 最大536,870,912個字符
ntext 可變寬度Unicode字符串。 文本數據的最大2GB
bit 允許0,1或NULL
binary(n) 固定寬度的二進制字符串。 最多8,000個字節
varbinary 可變寬度的二進制字符串。 最多8,000個字節
varbinary(max) 可變寬度的二進制字符串。 最多2GB。
image 可變寬度的二進制字符串。 最多2GB。

Number types:

數據類型 描述 存儲
tinyint 允許整數從0到255 1個字節
smallint 允許-32,768 32,767之間的整數 2個字節
int 允許-2,147,483,648和2,147,483,647之間的整數 4個字節
bigint 允許-9,223,372,036,854,775,808和9,223,372,036,854,775,807之間的整數 8個字節
decimal(p,s) 固定精度和比例的數字。

允許人數從-10 ^ 38 +1到10 ^ 38 -1。

p參數指示可以存儲數字的最大總數(兩者的左側和小數點的右邊)。 p必須是從1到38,默認值是18。

s參數表示的存儲到小數點右側的最大位數。 s必須是從0到p之間的值。 默認值為0

5-17字節
numeric(p,s) 固定精度和比例的數字。

允許人數從-10 ^ 38 +1到10 ^ 38 -1。

p參數指示可以存儲數字的最大總數(兩者的左側和小數點的右邊)。 p必須是從1到38,默認值是18。

s參數表示的存儲到小數點右側的最大位數。 s必須是從0到p之間的值。 默認值為0

5-17字節
smallmoney 貨幣數據-214,748.3648至214,748.3647 4個字節
money 貨幣數據-922,337,203,685,477.5808到922,337,203,685,477.5807 8個字節
float(n) 浮點精度數字數據,從-1.79E + 308到1.79E + 308。

參數n指示該字段是否應該持有4個或8個字節。 浮子(24)保持一個4字節字段和浮子(53)成立的8字節字段。 為n的默認值為53。

4或8個字節
real 浮點精度數字數據,從-3.40E + 38到3.40E + 38 4個字節

Date types:

數據類型 描述 存儲
datetime 從1753年1月1日至9999年12月31日,3.33毫秒精度 8個字節
datetime2 從0001年1月1至9999年12月31日,100納秒的精度 6-8字節
smalldatetime 從1900年1月1日至2079年6月6,以1分的精度 4個字節
date 只存儲一個日期。 從0001年1月1至9999年12月31日, 3個字節
time 存放時間只有100納秒的精度 3-5字節
datetimeoffset 相同DATETIME2通過加入一個時區的偏移 8-10字節
timestamp 存儲有被每一個行被創建或修改時更新一個唯一的編號。 時間戳值是根據內部時鐘和不對應於實際時間。 每個表只能有一個timestamp變量。

Other data types:

數據類型 描述
sql_variant 可存儲多達8000個字節不同數據類型的數據,除了text,ntext和時間戳
uniqueidentifier 存儲全局唯一標識符(GUID)
xml 房屋XML格式的數據。 最多2GB。
cursor 存儲對用於數據庫操作的指針的引用
table 存儲結果集進行後續處理