SQL--基本數據類型

數據類型(常用數據類型,以紅名標註):
在Microsoft SQL Server中,整數數據類型包括:

tinyint型:使用此數據類型時,存儲數據的範圍是從0到255,每個tinyint類型的數據佔用1個字節的儲存空間。

smallint型:使用此數據類型時,存儲數據的範圍是從-2的15次方(-32768)到2的15次方-1(32767),佔用2個字節的儲存空間。

int型:使用此數據類型時,存儲數據的範圍是-2的31次方到2的31次方-1,佔用4個字節的儲存空間。

bigint型:使用此數據類型時,存儲數據的範圍的是從-2的63次方到2的63次方-1,佔用8個自己的儲存空間。

浮點型數據類型:

real型:real數據類型可精確到第7位小數,其範圍爲-3.40E-38到3.40E+38,每個real類型佔用4個字節的儲存空間。

float型:精確到15位小數,範圍爲-1.79E-308到1.79E+308,佔用8個字節的儲存空間。float數據類型可寫爲float[N]的形式。N制定float數據的精度,N爲1到15的整數值。當N取值爲1到7時,實際上是定義了一個real的數據,系統用4個字節來儲存它。當N取值爲8到15時,系統認爲其實float數據類型,用8個字節來儲存它。

decimal型:decimal數據類型可以提供小數所需要的實際存儲空間,但也有一個限定。我們可以用2到17個字節來儲存從-10的38次方-1到10的38次方-1之間的數據,可以將其寫爲decimal(p,[s])的形式,p和s確定了精度的比列和數位,其中p表示可供儲存的值的總位數(不包括小數點),缺省值爲18;s表示小數點後的位數,缺省值爲0,如:decimal(15,5),表示共有15位數,其中整數10位,小數5位。

numeric型:numeric數據類型與decimal數據類型完全相同。

字符串類型:

char:char是定長字符數據,其長度最多爲8KB。如果將一個列的數據類型定義爲char,那麼我們就可以使用
char(x)指定該列所能存儲的字符的數目,其中x是字符數目。

varchar:varchar是變長字符數據,起長度不超過8KB。varchar(x)

text:超過8KB的ASCⅡ數據可以用text數據類型存儲。如:HTML文檔全部都是ASCⅡ字符,並且在一般情況下長度超過8KB,所以這些文檔可以用text數據類型存儲在SQL server中。

Unicode數據類型nchar、nvarchar和ntext:在Microsoft SQL server中,傳統的非Unicode數據類型允許使用由特定字符集定義的字符。在Unicode標準中,包括了以各種字符集定義的全部字符。使用Unicode數據類型,所佔空間是使用非Unicode數據類型所佔空間的兩倍。SQL Server中,Unicode數據以nchar、nvarchar和ntext數據類型存儲。使用這種字符類型存儲的列可以存儲多個字符集中的字符。當列的長度變化時,應該使用nvarchar字符類型,這時最多可以存儲4000個字符。當列的長度固定不時,應該使用nchar字符類型,同樣,這時最多可以存儲4000個字符。當使用ntext數據類型時,該列可以存儲多於4000字符。

在Microsoft SQL Server中,二進制數據類型包括:

binary:binary數據類型用於存儲二進制數據。其定義形式爲binary(n),n表示爲數據的長度,取值爲1到8000。在使用時必須指定binary類型數據的大小,至少應爲1字節。binary數據類型佔用n+4字節的存儲空間。在輸入數據時必須在數據前加上字符“0x”作爲二進制標識,如:要輸入“abc”則應輸入“0xabc”。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數爲奇數,則會在起始符號“0x”後面添加一個0,如上述的“0xabc”會被系統自動變爲“0x0abc”。

varbinary:varbinary數據類型的定義爲varbinary(n)。他與binary類型相似,n的取值也爲1到8000,若輸入的數據過長,將會截掉其他超出部分。不同的是varbinary數據類型具有變動長度的特性,因爲varbinary數據類型的存儲長度爲實際數值長度+4個字節。當binary數據類型允許NULL值時,將被視爲varbinary數據類型。

注:一般情況下,由於binary數據類型長度固定,因此它比varbinary類型的處理速度快。
邏輯數據類型:

bit:bit數據類型存儲邏輯真與假數據,佔用1個字節的存儲空間,其值爲0或1,若輸入0與1外的數,將被視爲1。bit類型不能定義爲NULL值(所謂NULL值是指空值或無意義的值)。

圖形數據類型:

SQL Server中的image數據類型用於存儲大量的二進制數據,其理論容量爲2的31次方-1(2,147,483,647)個字節。通常來存儲圖形等OLE(Object Linking adn Embedding,對象連接和嵌入)對象。在輸入數據時同binary數據類型一樣,必須在數據前面加上字符"0x"作爲二進制標識。在Image數據類型中存儲的數據是以位字串符存儲的,不是由SQL Server解釋的,必須由應用程序來解釋。如:應用程序可以使用BMP、TIEF、GIF、和JPEG格式把數據存儲在Image數據類型中。

日期和時間數據類型:

datetime:用於存儲日期和時間的結合體 範圍1753-1-1是9999-12-31

smalldatetime:與datetime數據類型相似,但其日期範圍較小,只能表示1900-1-1到2079-6-6

貨幣數據類型:

money:此數據類型的數據是一個有4位小數的decimal值,其取值從-2的63次方(-922,337,203,685,477,5808)到2的63次方-1(922,337,203,685,477,5807),數據精度爲萬分之一貨幣單位。money數據類型使用8個字節存儲。

smallmoney:smallmoney數據類型類似於money類型,但其存儲的貨幣值範圍比money數據類型小,取值從-214,748,3648到+214,748,3647,存儲空間爲4個字節。

特殊數據類型:

SQL Server中包含了一些用於數據存儲的特殊數據類型。

timestamp:此數據類型提供數據庫範圍內的唯一值。此類型相當於binary(8)或varchar(8),但當它所定義的列在更新或插入數據行時,此列的值會被自動更新,一個計數值將自動地添加到此timestamp數據列中。每個數據庫表中只能有一個timestamp數據列。如果建立一個名爲timestamp的列,則該列的類型降被自動設爲timestamp數據類型。

uniqueidentifier:此數據類型儲存一個16位的二進制數字。此數字成爲GUID(Globally Unique Identifier,即全球唯一識別號)。此數字是由SQL Server的NEWID函數產生的全球唯一編碼,在全球各地的計算機經由此函數產生的數字不會相同。


基礎的數據類型就這些,常用的已經用紅色字體標註出來!本人小菜,大牛繞路勿噴!
發佈了24 篇原創文章 · 獲贊 22 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章