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