- 相關(guān)推薦
SQL Server常用數據類(lèi)型
數據類(lèi)型是數據的一種屬性,是數據所表示信息的類(lèi)型。下面是小編為大家搜索整理了關(guān)于SQLServer常用數據類(lèi)型,歡迎參考閱讀,希望對大家有所幫助。
SQLServer2000提供了比較多的數據類(lèi)型供用戶(hù)使用,包括字符型數據類(lèi)型、數值型數據類(lèi)型、貨幣型數據類(lèi)型、日期/時(shí)間型數據類(lèi)型等。
一、字符型數據類(lèi)型
字符型數據類(lèi)型是使用最多的數據類(lèi)型。它可以用來(lái)存儲各種字母、數字符號、特殊符號。在使用字符類(lèi)型數據時(shí),必須為其加上單引號。若將數值數據包括在單引號中,將被視為字符類(lèi)型數據。一般來(lái)說(shuō),字符型數據類(lèi)型有兩種基本形式:
(一)CHAR定長(cháng)字符型數據類(lèi)型
CHAR數據類(lèi)型的定義形式為CHAR(n),n為長(cháng)度,n的取值范圍為1-8000,共占n個(gè)字節。若存儲的字符串長(cháng)度小于n,則系統自動(dòng)使用空格填補剩余的位置。若存儲的字符串長(cháng)度大于n,那么在執行插入記錄語(yǔ)句時(shí)將導致執行錯誤。
(二)VARCHAR變長(cháng)字符型數據類(lèi)型
VARCHAR數據類(lèi)型的定義形式為VARCHAR(n),最大長(cháng)度為n,n的取值范圍為1-8000。VARCHAR數據類(lèi)型的存儲長(cháng)度為實(shí)際字符串的長(cháng)度,若存儲的字符串長(cháng)度小于n,系統不會(huì )使用空格填補剩余的位置。VARCHAR數據類(lèi)型通常用于存放長(cháng)度變化較大的字符串,這樣可以節約大量的存儲空間。但是使用varn)數據類(lèi)型的缺點(diǎn)是,這種變長(cháng)的存儲方法使得用戶(hù)無(wú)法確切地估計存儲數據所使用的空間大小。
二、數值型數據類(lèi)型
數值型數據類(lèi)型包括整型數據類(lèi)型、數字數據類(lèi)型和浮點(diǎn)數據類(lèi)型三種。
(一)整型數據類(lèi)型
整型數據類(lèi)型只存儲整數。整型數據類(lèi)型包括以下四種:
bigint數據類(lèi)型
bigint數據類(lèi)型占8個(gè)字節,共64位,能夠存儲-263~263-1之間的所有正負整數。在64位中,63位用來(lái)存儲數值,1位用來(lái)存儲數值的正負。
int數據類(lèi)型
int數據類(lèi)型占4個(gè)字節,共32位,能夠存儲-231~231-1之間的所有正負整數。在32位中,31位用來(lái)存儲數值,1位用來(lái)存儲數值的正負。
smallint數據類(lèi)型
smallint數據類(lèi)型占2個(gè)字節,共16位,能夠存儲-215~215-1之間的所有正負整數。在16位中,15位用來(lái)存儲數值,1位用來(lái)存儲數值的正負。
(二)數字數據類(lèi)型
數字數據類(lèi)型包括decimal數據類(lèi)型和numeric數據類(lèi)型兩種,numeric數據類(lèi)型與decimal數據類(lèi)型完全相同。decimal數據類(lèi)型可以提供小數所需要的實(shí)際存儲空間,decimal數據類(lèi)型最多可存儲38位數字。
decimal數據類(lèi)型的定義形式為decimal(p,s)。
其中:
p:為指定精度或對象能夠控制的數字個(gè)數。
s:為指定可放到小數點(diǎn)右邊的小數位數或數字個(gè)數。
p和s必須遵守以下規則:0<=s<=p<=38。
(三)浮點(diǎn)數據類(lèi)型
浮點(diǎn)數據類(lèi)型包括float數據類(lèi)型和real數據類(lèi)型,這兩種數據類(lèi)型被稱(chēng)為近似數據類(lèi)型。
real數據類(lèi)型
real數據類(lèi)型占4個(gè)字節,共32位,能夠存儲-3.40E+38~3.40E+38之間所有的浮點(diǎn)數。
float數據類(lèi)型
float數據類(lèi)型占8個(gè)字節,共64位,能夠存儲-1.79E+308~1.79E+308之間所有的浮點(diǎn)數。float數據類(lèi)型可精確到第15位小數。float數據類(lèi)型可以定義為float(n),n為數據的精度。若n取1到7時(shí),實(shí)際上是定義了一個(gè)real類(lèi)型的數據,系統將分配4個(gè)字節的空間存儲數據;若n取8到15時(shí),系統認為其是float類(lèi)型,將分配8個(gè)字節的空間存儲數據。
三、貨幣型數據類(lèi)型
貨幣型數據類(lèi)型用于存儲貨幣值。在SQLServer2000中提供兩種貨幣型數據類(lèi)型:money數據類(lèi)型和smallmoney數據類(lèi)型。
(一)money數據類(lèi)型
money數據類(lèi)型使用8個(gè)字節存儲數據,由兩部分組成,前面4個(gè)字節表示貨幣值的整數部分,后面4個(gè)字節表示貨幣值的小數部分。
(二)smallmoney數據類(lèi)型
smallmoney數據類(lèi)型類(lèi)似于money類(lèi)型,使用4個(gè)字節存儲數據,前面2個(gè)字節表示貨幣值的整數部分,后面2個(gè)字節表示貨幣值的小數部分。
四、日期/時(shí)間型數據類(lèi)型
日期/時(shí)間型數據類(lèi)型用于存儲日期和時(shí)間的結合體。
(一)datetime數據類(lèi)型
datetime數據類(lèi)型可以存儲從公元1753年1月1日零時(shí)起到公元9999年12月31日23時(shí)59分59秒之間的所有日期和時(shí)間,其精確度可達三百分之一秒。datetime數據類(lèi)型占用8個(gè)字節的存儲空間。
(二)smalldatetime數據類(lèi)型
smalldatetime數據類(lèi)型與datetime數據類(lèi)型相似,但其日期時(shí)間范圍較小,可以存儲從1900年1月1日到2079年6月6日,精度可以達到分鐘。smalldatetime數據類(lèi)型占用4個(gè)字節的存儲空間。
SQL Server vNext on Linux安裝
今天微軟正式發(fā)布上SQL Server 2016 SP1,根據以往的SP1定律,可以在生產(chǎn)環(huán)境上使用了。打了SP1的標準版將具有企業(yè)版幾乎所有的的功能。只有RAM 超過(guò)128GB或者超過(guò)24核心或者超過(guò)4路的環(huán)境才必須要安裝企業(yè)版。
還有一個(gè)重要的發(fā)布:SQL Server vNext on Linux。也是本文介紹安裝的版本。長(cháng)話(huà)短說(shuō),開(kāi)始安裝。
這個(gè)版本的SQL Server,官方支持的平臺是Red Hat Enterpise 7.2 或者Ubuntu 16.04。但是我手上暫時(shí)沒(méi)有Red Hat,就用CentOS 7.2試試。我是以root身份安裝的。
1. 安裝
#下載庫配置文件curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo#安裝sudo yum install -y mssql-server
2. 運行配置文件
#運行SQL Server的配置文件進(jìn)行配置。#這個(gè)過(guò)程會(huì )要你同意License條款,設置SA密碼,設置SQL Server服務(wù)開(kāi)機啟動(dòng)/opt/mssql/bin/sqlservr-setup
3. 檢查服務(wù)狀態(tài)
#檢查SQL Server的服務(wù)狀態(tài)systemctl status mssql-server
4. 修改防火墻
#修改防火墻,允許1433端口systemctl start firewalldfirewall-cmd --zone=public --add-port=1433/tcp --permanentfirewall-cmd --reload
5. 安裝SQL工具,包括sqlcmd和bcp
#下載源的庫配置文件curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo#安裝toolsyum install mssql-tools
6. 連接測試
# 使用sqlcmd的本地連接。直接在-P參數后填密碼或者回車(chē)后輸入密碼。sqlcmd -S . -U SA -p
發(fā)現sqlcmd的使用方式和windows下是一樣的。返回內容最后有一個(gè)根據當前查詢(xún)的耗時(shí)預估的每秒事務(wù)處量。
然后建個(gè)庫,建個(gè)表試試。
遠程連接。從windows使用sqlcmd,用外網(wǎng)IP連接
使用SSMS連接,我使用是SQL 2014安裝時(shí)自帶SSMS,可能會(huì )有一些不支持問(wèn)題?梢钥吹紸gent沒(méi)啟動(dòng)的,實(shí)際上是這個(gè)版本沒(méi)有Agent。
有意思的是,使用SSMS可以創(chuàng )建庫,卻不能創(chuàng )建表。從錯誤信息來(lái)看,似乎是不支持圖形界面創(chuàng )建表。
總結:
嘗鮮性地測試一下,有機會(huì )還會(huì )測試更多功能。目前不支持Agent,復制和大部分BI功能組件。
很多人對SQL Server On Linux是有所期待。如果它在Linux上的表現與之在以往Windows上的表現一樣優(yōu)秀的話(huà),我相信會(huì )有更多人會(huì )使用它的。
SQL Server On Linux的更多文檔內容:SQL Server on Linux Documentation
【SQL Server常用數據類(lèi)型】相關(guān)文章:
Sql Server、Access數據排名的實(shí)現方法03-30
有關(guān)清除SQL Server日志的兩種方法03-29
SQL優(yōu)化大全03-08
oracle的sql語(yǔ)句01-21
SQL查詢(xún)語(yǔ)句大全04-25
關(guān)于數據類(lèi)型的Javascript學(xué)習筆記03-30
SQL語(yǔ)句的理解原則03-30