數據庫原理和應用(8)—— 數據類型

數據庫原理和應用(8)—— 數據類型

  • SQL使用數據定義語言(Data Definition Language,DDL)實現數據定義功能。
  • 關係表中每一列(即每個字段)都來自同一個域,屬於同一種數據類型。
  • 常見數據表之前,需要爲表中的每一個屬性設置一種數據類型。
1. 整數型

按照取值範圍從大到小,包括bigint、int、smallint、tiniint、bit。在實際應用中,可以根據屬性的具體取值範圍選擇合適的整數型。

2. 數值型
  • 包括精確數值型numeric、decimal和近似數值型float、real。
  • numeric和decimal在功能上等效,用於精確存儲數值。
  • 以numerical爲例,格式爲numeric(p,s),其中p表示數據長度,s表示小數位數
  • float和real用來存儲數據的近似值,當數值的位數太多時,可用它們存取數值的近似值。
3. 字符型
  • 包括char、varchar、nchar、nvarchar、text、ntext。
  • 其中char、varchar存放非Unicode字符(即ASCII字符),一個字符佔1個字節,char是定長的,varchar是非定長的。
  • nchar、nvarchar存放Unicode字符,一個字符佔2個字節,nchar是定長的,nvarchar是非定長的。
  • 當某個字符型屬性需要描述的字符數比較多時,可以將其設置爲text,ntext。其中,text存放非Unicode字符,定長,最大可存儲2GB;ntext存放Unicode字符,非定長,最大可存儲2GB。
4. 二進制數據型
  • 包括binary、varbinary、image。
  • binary是定長的二進制數據型,varbinary是非定長的二進制數據型,二者最多可以表示8000個字節。任何類型的數據都可存儲在這種類型的字段中,不需數據轉換。
5. 特殊類型
  • 包括timestamp、uniqueidentifier、sql_variant、table

  • timestamp數據類型提供數據庫範圍內的唯一值,此類型相當於binary(8)或varbinary(8),但當它所定義的列更新或添加數據行時,此列的值會被自動更新,一個計數值將自動的添加到此timestamp數據列中。每個數據庫表中只能有一個timestamp數據列。

  • uniqueidentifier數據類型稱爲全球唯一標識符(Globally Unique Identifier,GUID),可用NEWID()函數產生。

  • sql_variant數據類型可以存儲除文本、圖形數據和timestamp類型數據外的其他任何合法的SQL Server數據,此數據類型大大方便了SQL Server的開發工作。

  • table數據類型用於存儲對錶或視圖處理後的結果集,這一類型使得變量可以存儲一個表,從而使函數或過程返回查詢結果更加方便、快捷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章