熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

SQL的基本操作(1.數據類型)

2022-06-13   來源: SQL Server 

  數據類型
   數據類弄是數據的一種屬性表示數據所表示信息的類型任何一種計算機語言都定義了自己的數據類型當然不同的程序語言都具有不同的特點所定義的數據類型的各類和名稱都或多或少有些不同SQL Server 提供了 種數據類型
   ·Binary [(n)]
   ·Varbinary [(n)]
   ·Char [(n)]
   ·Varchar[(n)]
   ·Nchar[(n)]
   ·Nvarchar[(n)]
   ·Datetime
   ·Smalldatetime
   ·Decimal[(p[s])]
   ·Numeric[(p[s])]
   ·Float[(n)]
   ·Real
   ·Int
   ·Smallint
   ·Tinyint
   ·Money
   ·Smallmoney
   ·Bit
   ·Cursor
   ·Sysname
   ·Timestamp
   ·Uniqueidentifier
   ·Text
   ·Image
   ·Ntext
  
   ()二進制數據類型
   二進制數據包括 BinaryVarbinary 和 Image
   Binary 數據類型既可以是固定長度的(Binary)也可以是變長度的
   Binary[(n)] 是 n 位固定的二進制數據其中n 的取值范圍是從 其存儲窨的大小是 n + 個字節
   Varbinary[(n)] 是 n 位變長度的二進制數據其中n 的取值范圍是從 其存儲窨的大小是 n + 個字節不是 n 個字節
   在 Image 數據類型中存儲的數據是以位字符串存儲的不是由 SQL Server 解釋的必須由應用程序來解釋例如應用程序可以使用 BMPTIEFGIF 和 JPEG 格式把數據存儲在 Image 數據類型中
   ()字符數據類型
   字符數據的類型包括 CharVarchar 和 Text
   字符數據是由任何字母符號和數字任意組合而成的數據
   Varchar 是變長字符數據其長度不超過 KBChar 是定長字符數據其長度最多為 KB超過 KB 的ASCII 數據可以使用Text 數據類型存儲例如因為 Html 文檔全部都是 ASCII 字符並且在一般情況下長度超過 KB所以這些文檔可以 Text 數據類型存儲在 SQL Server 中
   ()Unicode 數據類型
   Unicode 數據類型包括 NcharNvarchar 和Ntext
   在 Microsoft SQL Server 中傳統的非 Unicode 數據類型允許使用由特定字符集定義的字符在 SQL Server 安裝過程中允許選擇一種字符集使用 Unicode 數據類型列中可以存儲任何由Unicode 標准定義的字符在 Unicode 標准中包括了以各種字符集定義的全部字符使用Unicode 數據類型所戰勝的窨是使用非 Unicode 數據類型所占用的窨大小的兩倍
   在 SQL Server 中Unicode 數據以 NcharNvarchar 和 Ntext 數據類型存儲使用這種字符類型存儲的列可以存儲多個字符集中的字符當列的長度變化時應該使用 Nvarchar 字符類型這時最多可以存儲 個字符當列的長度固定不變時應該使用 Nchar 字符類型同樣這時最多可以存儲 個字符當使用 Ntext 數據類型時該列可以存儲多於 個字符
   ()日期和時間數據類型
   日期和時間數據類型包括 Datetime 和 Smalldatetime 兩種類型
   日期和時間數據類型由有效的日期和時間組成例如有效的日期和時間數據包括// :::: PM:::: AM //前一個數據類型是日期在前時間在後一個數據類型是霎時間在前日期在後在 Microsoft SQL Server 中日期和時間數據類型包括Datetime 和 Smalldatetime 兩種類型時所存儲的日期范圍是從 日開始 日結束(每一個值要求 個存儲字節)使用 Smalldatetime 數據類型時所存儲的日期范圍是 日 開始 日結束(每一個值要求 個存儲字節)
   日期的格式可以設定設置日期格式的命令如下
   Set DateFormat {format | @format _var|
   其中format | @format_var 是日期的順序有效的參數包括 MDYDMYYMDYDMMYD 和 DYM在默認情況下日期格式為 MDY
   例如當執行 Set DateFormat YMD 之後日期的格式為年 月 日 形式當執行 Set DateFormat DMY 之後日期的格式為 日 月有年 形式
   ()數字數據類型
   數字數據只包含數字數字數據類型包括正數和負數小數(浮點數)和整數
   整數由正整數和負整數組成例如 在 Micrsoft SQL Server 中整數存儲的數據類型是 IntSmallint 和 TinyintInt 數據類型存儲數據的范圍大於 Smallint 數據類型存儲數據的范圍而 Smallint 據類型存儲數據的范圍大於 Tinyint 數據類型存儲數據的范圍使用 Int 數據狗昔存儲數據的范圍是從 (每一個值要求 個字節存儲空間)使用 Smallint 數據類型時存儲數據的范圍從 (每一個值要求個字節存儲空間)使用 Tinyint 數據類型時存儲數據的范圍是從(每一個值要求個字節存儲空間)
   精確小婁數據在 SQL Server 中的數據類型是 Decimal 和 Numeric這種數據所占的存儲空間根據該數據的位數後的位數來確定
   在SQL Server 中近似小數數據的數據類型是 Float 和 Real例如三分之一這個分數記作當使用近似數據類型時能准確表示因此從系統中檢索到的數據可能與存儲在該列中數據不完全一樣
   ()貨幣數據表示正的或者負的貨幣數量 在 Microsoft SQL Server 中貨幣數據的數據類型是Money 和 SmallmoneyMoney 數據類型要求 個存儲字節Smallmoney 數據類型要求 個存儲字節
   ()特殊數據類型
   特殊數據類型包括前面沒有提過的數據類型特殊的數據類型有即 TimestampBit 和 Uniqueidentifier
   Timestamp 用於表示SQL Server 活動的先後順序以二進投影的格式表示Timestamp 數據與插入數據或者日期和時間沒有關系
   Bit 由 或者 組成當表示真或者假ON 或者 OFF 時使用 Bit 數據類型例如詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中
   Uniqueidentifier 由 字節的十六進制數字組成表示一個全局唯一的當表的記錄行要求唯一時GUID是非常有用例如在客戶標識號列使用這種數據類型可以區別不同的客戶
   用戶定義的數據類型
   用戶定義的數據類型基於在 Microsoft SQL Server 中提供的數據類型當幾個表中必須存儲同一種數據類型時並且為保證這些列有相同的數據類型長度和可空性時可以使用用戶定義的數據類型例如可定義一種稱為 postal_code 的數據類型它基於 Char 數據類型
   當創建用戶定義的數據類型時必須提供三個數數據類型的名稱所基於的系統數據類型和數據類型的可空性
   ()創建用戶定義的數據類型
   創建用戶定義的數據類型可以使用 TransactSQL 語句系統存儲過程 sp_addtype 可以來創建用戶定義的數據類型其語法形式如下
   sp_addtype {type}[system_data_bype][null_type]
   其中type 是用戶定義的數據類型的名稱system_data_type 是系統提供的數據類型例如 DecimalIntChar 等等 null_type 表示該數據類型是如何處理空值的必須使用單引號引起來例如NULLNOT NULL或者NONULL
   例子
   Use cust
   Exec sp_addtype ssnVarchar()Not Null
   創建一個用戶定義的數據類型 ssn其基於的系統數據類型是變長為 的字符不允許空
   例子
   Use cust
   Exec sp_addtype birthdaydatetimeNull
   創建一個用戶定義的數據類型 birthday其基於的系統數據類型是 DateTime允許空
   例子
   Use master
   Exec sp_addtype telephonevarchar()Not Null
   Eexc sp_addtype faxvarchar()Null
   創建兩個數據類型即 telephone 和 fax
   ()刪除用戶定義的數據類型
   當用戶定義的數據類型不需要時可刪除刪除用戶定義的數據類型的命令是 sp_droptype {type}
   例子
   Use master
   Exec sp_droptype ssn
   注意當表中的列還正在使用用戶定義的數據類型時或者在其上面還綁定有默認或者規則時這種用戶定義的數據類型不能刪除

From:http://tw.wingwit.com/Article/program/SQLServer/201311/11231.html
  • 上一篇文章: 没有了

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.