SQL Server基礎知識 -- SQL 用於各類數據庫的數據類型

SQL 用於各類數據庫的數據類型
轉載: http://www.runoob.com/sql/sql-datatypes.htmlhtml

SQL 用於各類數據庫的數據類型 sql

Microsoft Access、MySQL 和 SQL Server 所使用的數據類型和範圍。數據庫

Microsoft Access 數據類型
數據類型
描述
存儲
Text
用於文本或文本與數字的組合。最多 255 個字符。markdown

Memo
Memo 用於更大數量的文本。最多存儲 65,536 個字符。註釋:沒法對 memo 字段進行排序。不過它們是可搜索的。ide

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 位小數。提示:您能夠選擇使用哪一個國家的貨幣。
8 字節
AutoNumber
AutoNumber 字段自動爲每條記錄分配數字,一般從 1 開始。
4 字節
Date/Time
用於日期和時間
8 字節
Yes/No
邏輯字段,能夠顯示爲 Yes/No、True/False 或 On/Off。在代碼中,使用常量 True 和 False (等價於 1 和 0)。註釋:Yes/No 字段中不容許 Null 值
1 比特
Ole Object
能夠存儲圖片、音頻、視頻或其餘 BLOBs(Binary Large OBjects)。
最多 1GB
Hyperlink
包含指向其餘文件的連接,包括網頁。指針

Lookup Wizard
容許您建立一個可從下拉列表中進行選擇的選項列表。
4 字節code

MySQL 數據類型
在 MySQL 中,有三種主要的類型:Text(文本)、Number(數字)和 Date/Time(日期/時間)類型。
Text 類型:
數據類型
描述
CHAR(size)
保存固定長度的字符串(可包含字母、數字以及特殊字符)。在括號中指定字符串的長度。最多 255 個字符。
VARCHAR(size)
保存可變長度的字符串(可包含字母、數字以及特殊字符)。在括號中指定字符串的最大長度。最多 255 個字符。註釋:若是值的長度大於 255,則被轉換爲 TEXT 類型。
TINYTEXT
存放最大長度爲 255 個字符的字符串。
TEXT
存放最大長度爲 65,535 個字符的字符串。
BLOB
用於 BLOBs(Binary Large OBjects)。存放最多 65,535 字節的數據。
MEDIUMTEXT
存放最大長度爲 16,777,215 個字符的字符串。
MEDIUMBLOB
用於 BLOBs(Binary Large OBjects)。存放最多 16,777,215 字節的數據。
LONGTEXT
存放最大長度爲 4,294,967,295 個字符的字符串。
LONGBLOB
用於 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字節的數據。
ENUM(x,y,z,etc.)
容許您輸入可能值的列表。能夠在 ENUM 列表中列出最大 65535 個值。若是列表中不存在插入的值,則插入空值。
註釋:這些值是按照您輸入的順序排序的。
能夠按照此格式輸入可能的值: ENUM('X','Y','Z')
SET
與 ENUM 相似,不一樣的是,SET 最多隻能包含 64 個列表項且 SET 可存儲一個以上的選擇。
Number 類型:
數據類型
描述
TINYINT(size)
帶符號-128到127 ,無符號0到255。
SMALLINT(size)
帶符號範圍-32768到32767,無符號0到65535, size 默認爲 6。
MEDIUMINT(size)
帶符號範圍-8388608到8388607,無符號的範圍是0到16777215。 size 默認爲9
INT(size)
帶符號範圍-2147483648到2147483647,無符號的範圍是0到4294967295。 size 默認爲 11
BIGINT(size)
帶符號的範圍是-9223372036854775808到9223372036854775807,無符號的範圍是0到18446744073709551615。size 默認爲 20
FLOAT(size,d)
帶有浮動小數點的小數字。在 size 參數中規定顯示最大位數。在 d 參數中規定小數點右側的最大位數。
DOUBLE(size,d)
帶有浮動小數點的大數字。在 size 參數中規顯示定最大位數。在 d 參數中規定小數點右側的最大位數。
DECIMAL(size,d)
做爲字符串存儲的 DOUBLE 類型,容許固定的小數點。在 size 參數中規定顯示最大位數。在 d 參數中規定小數點右側的最大位數。
注意:以上的 size 表明的並非存儲在數據庫中的具體的長度,如 int(4) 並非只能存儲4個長度的數字。
實際上int(size)所佔多少存儲空間並沒有任何關係。int(3)、int(4)、int(8) 在磁盤上都是佔用 4 btyes 的存儲空間。就是在顯示給用戶的方式有點不一樣外,int(M) 跟 int 數據類型是相同的。
例如:
一、int的值爲10 (指定zerofill)
int(9)顯示結果爲000000010
int(3)顯示結果爲010
就是顯示的長度不同而已 都是佔用四個字節的空間
Date 類型:
數據類型
描述
DATE()
日期。格式:YYYY-MM-DD
註釋:支持的範圍是從 '1000-01-01' 到 '9999-12-31'
DATETIME()
日期和時間的組合。格式:YYYY-MM-DD HH:MM:SS
註釋:支持的範圍是從 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'
TIMESTAMP()
時間戳。TIMESTAMP 值使用 Unix 紀元('1970-01-01 00:00:00' UTC) 至今的秒數來存儲。格式:YYYY-MM-DD HH:MM:SS
註釋:支持的範圍是從 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC
TIME()
時間。格式:HH:MM:SS
註釋:支持的範圍是從 '-838:59:59' 到 '838:59:59'
YEAR()
2 位或 4 位格式的年。
註釋:4 位格式所容許的值:1901 到 2155。2 位格式所容許的值:70 到 69,表示從 1970 到 2069。
*即使 DATETIME 和 TIMESTAMP 返回相同的格式,它們的工做方式很不一樣。在 INSERT 或 UPDATE 查詢中,TIMESTAMP 自動把自身設置爲當前的日期和時間。TIMESTAMP 也接受不一樣的格式,好比 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。視頻

SQL Server 數據類型
String 類型:
數據類型
描述
存儲
char(n)
固定長度的字符串。最多 8,000 個字符。
Defined width
varchar(n)
可變長度的字符串。最多 8,000 個字符。
2 bytes + number of chars
varchar(max)
可變長度的字符串。最多 1,073,741,824 個字符。
2 bytes + number of chars
text
可變長度的字符串。最多 2GB 文本數據。
4 bytes + number of chars
nchar
固定長度的 Unicode 字符串。最多 4,000 個字符。
Defined width x 2
nvarchar
可變長度的 Unicode 字符串。最多 4,000 個字符。xml

nvarchar(max)
可變長度的 Unicode 字符串。最多 536,870,912 個字符。htm

ntext
可變長度的 Unicode 字符串。最多 2GB 文本數據。

bit
容許 0、1 或 NULL

binary(n)
固定長度的二進制字符串。最多 8,000 字節。

varbinary
可變長度的二進制字符串。最多 8,000 字節。

varbinary(max)
可變長度的二進制字符串。最多 2GB。

image
可變長度的二進制字符串。最多 2GB。

Number 類型:
數據類型
描述
存儲
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 字節。float(24) 保存 4 字節,而 float(53) 保存 8 字節。n 的默認值是 53。
4 或 8 字節
real
從 -3.40E + 38 到 3.40E + 38 的浮動精度數字數據。
4 字節
Date 類型:
數據類型
描述
存儲
datetime
從 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度爲 3.33 毫秒。
8 字節
datetime2
從 1753 年 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 bytes
time
僅存儲時間。精度爲 100 納秒。
3-5 字節
datetimeoffset
與 datetime2 相同,外加時區偏移。
8-10 字節
timestamp
存儲惟一的數字,每當建立或修改某行時,該數字會更新。timestamp 值基於內部時鐘,不對應真實時間。每一個表只能有一個 timestamp 變量。

其餘數據類型:數據類型描述sql_variant存儲最多 8,000 字節不一樣數據類型的數據,除了 text、ntext 以及 timestamp。uniqueidentifier存儲全局惟一標識符 (GUID)。xml存儲 XML 格式化數據。最多 2GB。cursor存儲對用於數據庫操做的指針的引用。table存儲結果集,供稍後處理。

相關文章
相關標籤/搜索