



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、相品用。3SQL數(shù)據(jù)庫字段數(shù)據(jù)類型說明數(shù)據(jù)類型描述bit整型bit數(shù)據(jù)類型是整型,其值只能是0、1或空值。這種數(shù)據(jù) 類型什T存儲只有兩種可能值的數(shù)據(jù), 如Yes或No、True 或 Fa lse、On 或 Ofint整型int數(shù)據(jù)類型可以存儲從-231(-2147483648)到231(2147483 647)之間的整數(shù)。存儲到數(shù)據(jù)庫的幾乎所有數(shù)值型的數(shù)據(jù)都可以用這種數(shù)據(jù)類型。這種數(shù)據(jù)類型在數(shù)據(jù)庫里占用4個(gè)字節(jié)smallint整型smallint數(shù)據(jù)類型可以存儲從 -215(-32768)到215(32767)之間的整數(shù)。這種數(shù)據(jù)類型對存儲L些常限定在特定范圍內(nèi)的數(shù)值型數(shù)據(jù)非常有用。這種數(shù)據(jù)類
2、型在數(shù)據(jù)庫里占用2字節(jié)空間tinyint整型tinyint數(shù)據(jù)類型能存儲從 0到255之間的整數(shù)。它在你 只打算存儲有限數(shù)目的數(shù)值時(shí)很有用。這種數(shù)據(jù)類型在數(shù)據(jù)庫中占用1個(gè)字節(jié)numeric精確數(shù) 值型numeric數(shù)據(jù)類型與decimal型相同Decimal精確數(shù) 值型decimal數(shù)據(jù)類型能用來存儲從 -1038-1到1038-1的固定 精度和范圍的數(shù)值型數(shù)據(jù)。使用這種數(shù)據(jù)類型時(shí),必須指 定范圍和精度。范圍是小數(shù)點(diǎn)左右所能存儲的數(shù)字的總位數(shù)。精度是小數(shù)點(diǎn)右邊存儲的數(shù)字的位數(shù)Money貨幣型money數(shù)據(jù)類型用來表示錢和貨幣值。這種數(shù)據(jù)類型能 存儲從-9220億到9220億之間的數(shù)據(jù),精確到貨
3、幣單位 的萬分之一Smallmoney貨幣型smallmoney數(shù)據(jù)類型用來表示錢和貨幣值。這種數(shù)據(jù)類 型能存儲從-214748.3648到214748.3647之間的數(shù)據(jù), 精確到貨幣單位的萬分之一Float近似數(shù) 值型float數(shù)據(jù)類型是一種近似數(shù)值類型,供浮點(diǎn)數(shù)使用。說 浮點(diǎn)數(shù)是近似的,是因?yàn)樵诰叻秶鷥?nèi)不是所有的數(shù)都能精 確表示。浮點(diǎn)數(shù)可以是從-1.79E+308到1.79E+308之間的 任意數(shù)Real近似數(shù) 值型real數(shù)據(jù)類型像浮點(diǎn)數(shù)一樣,是近似數(shù)值類型。它可以表 示數(shù)值在-3.40E+38到3.40E+38之間的浮點(diǎn)數(shù)Datetime日期時(shí) 間型datetime數(shù)據(jù)類型用來表示日
4、期和時(shí)間。這種數(shù)據(jù)類型存 儲從1753年1月1日到9999年12月3 1日間所有的日 期和時(shí)間數(shù)據(jù), 精確到二白分之一秒或 3.33毫秒Smalldatetime日期時(shí) 間型smalldatetime 數(shù)據(jù)類型用來表上從1900年1月1日到2079年6月6日間的日期和時(shí)間,精確到一分鐘cursor特殊數(shù) 據(jù)型cursor數(shù)據(jù)類型卷-種特殊的數(shù)據(jù)類型, 它包含一個(gè)對游 標(biāo)的引用。這種數(shù)據(jù)類型用在存儲過程中, 而且創(chuàng)建表時(shí)不能用Timestamp特殊數(shù) 據(jù)型timestamp數(shù)據(jù)類型是l種特殊的數(shù)據(jù)類型,用來創(chuàng)建一個(gè)數(shù)據(jù)庫范圍內(nèi)的唯一數(shù)碼。一個(gè)表中只能有一個(gè)timestamp歹U。每次插入或修改一
5、行時(shí),timestamp歹U的值都會改變。盡管它的名字中有time , 但timestamp列不是人們可識別的日期。在一個(gè)數(shù)據(jù)庫里,timestamp值是唯一的Uniqueidentifier特殊數(shù) 據(jù)型Uniqueidentifier數(shù)據(jù)類型用來存儲一個(gè)全局唯一標(biāo)識符, 即GUID。GUID確實(shí)是全局唯一的。這個(gè)數(shù)幾乎沒有機(jī)會 在另一個(gè)系統(tǒng)中被重建??梢允褂肗EWID函數(shù)或轉(zhuǎn)換一個(gè)字符串為唯一標(biāo)識符來初始化具有唯一標(biāo)識符的列Char字符型char數(shù)據(jù)類型用來存儲指定長度的定長非統(tǒng)一編碼型的數(shù)據(jù)。當(dāng)定義一列為此類型時(shí),你必須指定列長。當(dāng)你總 能知道要存儲的數(shù)據(jù)的長度時(shí), 此數(shù)據(jù)類型很有用。例如
6、, 當(dāng)你按郵政編碼加4個(gè)字符格式來存儲數(shù)據(jù)時(shí),你知道總 要用到10個(gè)字符。此數(shù)據(jù)類型的列寬最大為 8000個(gè)字 符Varchar字符型varchar數(shù)據(jù)類型,向char類型一樣,用來存儲非統(tǒng)一編 碼型字符數(shù)據(jù)。與 char型不一樣,此數(shù)據(jù)類型為變長。當(dāng)定義一列為該數(shù)據(jù)類型時(shí),你要指定該列的最大長度。它與char數(shù)據(jù)類型最大的區(qū)別是,存儲的長度不是列長, 而是數(shù)據(jù)的長度Text字符型text數(shù)據(jù)類型用來存儲大量的非統(tǒng)一編碼型字符數(shù)據(jù)。這種數(shù)據(jù)類型最多可以有231-1或20億個(gè)字符Nchar統(tǒng)編 碼字符 型nchar數(shù)據(jù)類型用來存儲定長統(tǒng)一編碼字符型數(shù)據(jù)。統(tǒng)一編碼用雙字節(jié)結(jié)構(gòu)來存儲每個(gè)字符,而不是
7、用單字節(jié)(普通文本中的情況)。它允許大量的擴(kuò)展字符。此數(shù)據(jù)類型 能存儲4000種字符,使用的字節(jié)空間上增加了一倍Nvarchar統(tǒng)編 碼字符 型nvarchar數(shù)據(jù)類型用作變長的統(tǒng)一編碼字符型數(shù)據(jù)。此數(shù)據(jù)類型能存儲4000種字符,使用的字節(jié)空間增加了一倍Ntext統(tǒng)編 碼字符 型ntext數(shù)據(jù)類型用來存儲大量的統(tǒng)一編碼字符型數(shù)據(jù)。這 種數(shù)據(jù)類型能存儲 230 -1或?qū)⒔?0億個(gè)字符,且使用的 字節(jié)空間增加了一倍Binary二進(jìn)制 數(shù)據(jù)類 型binary數(shù)據(jù)類型用來存儲可達(dá) 8000字節(jié)長的定長的二進(jìn) 制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容接近相同的長度時(shí),你應(yīng)該使用這種數(shù)據(jù)類型varbinary二進(jìn)制 數(shù)據(jù)類
8、 型varbinary數(shù)據(jù)類型用來存儲可達(dá) 8000字英長的變長的 二進(jìn)制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容大小可變時(shí), 你應(yīng)該使用這 種數(shù)據(jù)類型image二進(jìn)制 數(shù)據(jù)類image數(shù)據(jù)類型用來存儲變長的二進(jìn)制數(shù)據(jù),最大可達(dá)231-1或大約20億字節(jié)1)char、varchar、text 和 nchar、nvarchar、ntextchar和varchar的長度都在1到8000之間,它們的區(qū)別在于 char是定長字符數(shù)據(jù),而varchar 是變長字符數(shù)據(jù)。所謂定長就是長度固定的,當(dāng)輸入的數(shù)據(jù)長度沒有達(dá)到指定的長度時(shí)將自動以英文空格在其后面填充,使長度達(dá)到相應(yīng)的長度;而變長字符數(shù)據(jù)則不會以空格填充。text存儲
9、可變長度的非Unicode數(shù)據(jù),最大長度為 2A31-1(2,147,483,647)個(gè)字符。后面三種數(shù)據(jù)類型和前面的相比,從名稱上看只是多了個(gè)字母n,它表示存儲的是Unicode數(shù)據(jù)類型的字符。寫過程序的朋友對Unicode應(yīng)該很了解。字符中,英文字符只需要一個(gè)字節(jié)存儲就足夠了,但漢字眾多,需要兩個(gè)字節(jié)存儲,英文與漢字同時(shí)存在時(shí)容易造成混亂, Unicode字符集就是為了解決字符集這種不兼容的問題而產(chǎn)生的,它所有的字符都用兩個(gè)字 節(jié)表示,即英文字符也是用兩個(gè)字節(jié)表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲
10、4000個(gè)字符,不論是英文還是漢字;而char、varchar最多能存儲8000個(gè)英文,4000個(gè)漢字??梢钥闯鍪褂胣char、nvarchar數(shù)據(jù)類型時(shí)不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲英文時(shí)數(shù)量上有些損失。(2)datetime 和 smalldatetimedatetime :從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確到百分之三秒。smalldatetime :從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),精確到分鐘。bitint、int、smallint、tinyint 和 bitbigint:從-263(-922337203685
11、4775808)到 2A63-1(9223372036854775807)的整型數(shù)據(jù)。int:從-2人31(-2,147,483,648)至U 2A31-1(2,147,483,647)的整型數(shù)據(jù)。smallint:從 015(-32,768)至U 2A15-1(32,767)的整數(shù)數(shù)據(jù)。tinyint :從0到255的整數(shù)數(shù)據(jù)。 bit: 1或0的整數(shù)數(shù)據(jù)。(4)decimal 和 numeric這兩種數(shù)據(jù)類型是等效的。都有兩個(gè)參數(shù):p (精度)和s (小數(shù)位數(shù))。p指定小數(shù)點(diǎn)左邊和右邊可以存儲的十進(jìn)制數(shù)字的最大個(gè)數(shù),p必須是從1到38之間的值。s指定小數(shù)點(diǎn)右邊可以存儲的十進(jìn)制數(shù)字的最大個(gè)數(shù)
12、,s必須是從0到p之間的值,默認(rèn)小數(shù)位數(shù)是 0。(5)float 和 realfloat:從-1.79A308到1.79人308之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。real:從-3.40人38至U 3.40人38之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。 在SQL Server中,real的同義詞為float(24)。數(shù)據(jù)庫定義到char類型的字段時(shí),不知道大家是否會猶豫一下,到底選char、nchar、varchar、nvarchar、text、ntext中哪一種呢?結(jié)果很可能是兩種,一種是節(jié)儉人士的選擇:最好是用定長的,感覺比變長能省些空間,而且處理起來會快些,無法定長只好選用定長,并且將長相品度設(shè)置盡可能地??;另一種是則是覺
13、得無所謂,盡量用可變類型的,長度盡量放大些。鑒于現(xiàn)在硬件像蘿卜一樣便宜的大好形勢,糾纏這樣的小問題實(shí)在是沒多大意義,不過如果不弄清它,總覺得對不起勞累過度的CPU和硬盤。下面開始了(以下說明只針對SqlServer有效):1、當(dāng)使用非unicode時(shí)慎用以下這種查詢:select f from t where f = N'xx'原因:無法利用到索引,因?yàn)閿?shù)據(jù)庫會將f先轉(zhuǎn)換到unicode再和N'xx'比較2、char和相同長度的varchar處理速度差不多(后面還有說明)3、varchar的長度不會影響處理速度! ?。春竺娼忉專?、索引中列總長度最多支持總為9
14、00字節(jié),所以長度大于 900的varchar、char和大于450的nvarchar,nchar將無法創(chuàng)建索引5、text、ntext上是無法創(chuàng)建索引的6、OR Mapping中對應(yīng)實(shí)體的屬性類型一般是以string居多,用char口的非常少,所以如果按mapping的合理性來說,可變長度的類型更加吻合7、一般基礎(chǔ)資料表中的 name在實(shí)際查詢中基本上全部是使用like %xx%'這種方式,而這種方式是無法利用索引的,所以如果對于此種字段,索引建了也白建8、其它一些像remark的字段則是根本不需要查詢的,所以不需要索引9、varchar的存放和string是一樣原理的, 即leng
15、th block這種方式,所以varchar的長度和 它實(shí)際占用空間是無關(guān)的10、對于固定長度的字段,是需要額外空間來存放NULL標(biāo)識的,所以如果一個(gè)char字段中出現(xiàn)非常多的NULL,那么很不幸,你的占用空間比沒有NULL的大(但這個(gè)大并不是大太多,因?yàn)镹ULL標(biāo)識是用bit存放的,可是如果你一行中只有你一個(gè)NULL需要標(biāo)識,那么你就白白浪費(fèi)1byte空間了,罪過罪過!),這時(shí)候,你可以使用特殊標(biāo)識來存放,如: NV'11、同上,所以對于這種NULL查詢,索引是無法生效的,假如你使用了NULL標(biāo)識替代的話,那么恭喜你,你可以利用到索引了12、char和varchar的比較成本是一樣的
16、,現(xiàn)在關(guān)鍵就看它們的索引查找的成本了,因?yàn)椴?找策略都一樣,因此應(yīng)該比較誰占用空間小。在存放相同數(shù)量的字符情況下,如果數(shù)量小, 那么char占用長度是小于 varchar的,但如果數(shù)量稍大,則 varchar完全可能小于 char,而 且要看實(shí)際填充數(shù)值的充實(shí)度,比如說varchar(3)和char(3),那么理論上應(yīng)該是char快了, 但如果是char(10)和varchar(10),充實(shí)度只有 30%的情況下,理論上就應(yīng)該是 varchar快了。 因?yàn)関archar需要額外空間存放塊長度,所以只要 length(l-fillfactor)大于這個(gè)存放空間(好 像是2字節(jié)),那么它就會比相同長度的 char快了。13、nvarchar比varchar要慢上一些
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 收藏品拍賣合同
- 中醫(yī)內(nèi)科培訓(xùn)教案
- 影視劇制作中介協(xié)議
- 拔罐培訓(xùn)教學(xué)
- 少兒口才拼音課件
- 大班鉛筆盒課件
- 汽車維修價(jià)格確認(rèn)協(xié)議
- 房顫診斷路徑
- 傳真機(jī)設(shè)備采購合同
- 景觀小品設(shè)計(jì)與施工合同
- 清明節(jié)傳統(tǒng)文化知識主題班會184
- UL987標(biāo)準(zhǔn)中文版-2019固定和固定電動工具第八版
- 新材料領(lǐng)域新型建筑材料研發(fā)及市場推廣計(jì)劃實(shí)施
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- SB004-呼吸機(jī)標(biāo)準(zhǔn)操作規(guī)程藥物臨床試驗(yàn)機(jī)構(gòu)GCP SOP
- 5年中考3年模擬試卷初中道德與法治七年級下冊第一單元素養(yǎng)綜合檢測
- 2024網(wǎng)絡(luò)數(shù)據(jù)安全管理?xiàng)l例課件
- 全國中學(xué)生天文知識競賽備賽試題及答案
- 2024智能型光伏并網(wǎng)斷路器 技術(shù)規(guī)范
- 中考英語過去將來時(shí)趣味講解動態(tài)課件(43張課件)
- 中國重癥患者腸外營養(yǎng)治療臨床實(shí)踐專家共識(2024)解讀
評論
0/150
提交評論