




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——SQL中的五種數(shù)據(jù)類(lèi)型SQL中的五種數(shù)據(jù)類(lèi)型:字符型,文本型,數(shù)值型,規(guī)律型和日期型字符型
VARCHARVSCHAR
VARCHAR型和CHAR型數(shù)據(jù)的這個(gè)區(qū)別是微弱的,但是十分重要。他們都是用來(lái)儲(chǔ)存字符串長(zhǎng)度小于255的字符。
假使你向一個(gè)長(zhǎng)度為四十個(gè)字符的VARCHAR型字段中輸入數(shù)據(jù)BIllGAtES。當(dāng)你以后從這個(gè)字段中取出此數(shù)據(jù)時(shí),你取出的數(shù)據(jù)其長(zhǎng)度為十個(gè)字符——字符串BillGates的長(zhǎng)度?,F(xiàn)在假使你把字符串輸入一個(gè)長(zhǎng)度為四十個(gè)字符的CHAR型字段中,那么當(dāng)你取出數(shù)據(jù)時(shí),所取出的數(shù)據(jù)長(zhǎng)度將是四十個(gè)字符。字符串的后面會(huì)被附加多余的空格。
當(dāng)你建立自己的站點(diǎn)時(shí),你會(huì)發(fā)現(xiàn)使用VARCHAR型字段要比CHAR型字段便利的多。使用VARCHAR型字段時(shí),你不需要為剪掉你數(shù)據(jù)中多余的空格而勞神。VARCHAR型字段的另一個(gè)突出的好處是它可以比CHAR型字段占用更少的內(nèi)存和硬盤(pán)空間。當(dāng)你的數(shù)據(jù)庫(kù)很大時(shí),這種內(nèi)存和磁盤(pán)空間的節(jié)省會(huì)變得十分重要文本型TEXT
使用文本型數(shù)據(jù),你可以存放超過(guò)二十億個(gè)字符的字符串。當(dāng)你需要存儲(chǔ)大串的字符時(shí),應(yīng)當(dāng)使用文本型數(shù)據(jù)。
注意文本型數(shù)據(jù)沒(méi)有長(zhǎng)度,而上一節(jié)中所講的字符型數(shù)據(jù)是有長(zhǎng)度的。一個(gè)文本型字段中的數(shù)據(jù)尋常要么為空,要么很大。
當(dāng)你從HTMLfORM的多行文本編輯框(TEXTAREA)中收集數(shù)據(jù)時(shí),你應(yīng)當(dāng)把收集的信息存儲(chǔ)于文本型字段中。但是,無(wú)論何時(shí),只要你能避免使用文本型字段,你就應(yīng)當(dāng)不適用它。文本型字段既大且慢,濫用文本型字段會(huì)使服務(wù)器速度變慢。文本型字段還會(huì)吃掉大量的磁盤(pán)空間。
一旦你向文本型字段中輸入了任何數(shù)據(jù)(甚至是空值),就會(huì)有2K的空間被自動(dòng)分派給該數(shù)據(jù)。除非刪除該記錄,否則你無(wú)法收回這部分存儲(chǔ)空間。數(shù)值型
SQL支持大量種不同的數(shù)值型數(shù)據(jù)。你可以存儲(chǔ)整數(shù)INT、小數(shù)NUMERIC、和錢(qián)數(shù)MONEY。
INTVSSMALLINTVSTINYINT他們的區(qū)別只是字符長(zhǎng)度:
INT型數(shù)據(jù)的表數(shù)范圍是從-2,147,483,647到2,147,483,647的整數(shù)
SMALLINT型數(shù)據(jù)可以存儲(chǔ)從-32768到32768的整數(shù)
TINYINT型的字段只能存儲(chǔ)從0到255的整數(shù),不能用來(lái)儲(chǔ)存負(fù)數(shù)尋常,為了節(jié)省空間,應(yīng)當(dāng)盡可能的使用最小的整型數(shù)據(jù)。一個(gè)TINYINT型數(shù)據(jù)只占用一個(gè)字節(jié);一個(gè)INT型數(shù)據(jù)占用四個(gè)字節(jié)。這看起來(lái)似乎區(qū)別不大,但是在比較大的表中,字節(jié)數(shù)的增長(zhǎng)是很快的。另一方面,一旦你已經(jīng)創(chuàng)立了一個(gè)字段,要修改它是很困難的。因此,為安全起見(jiàn),你應(yīng)當(dāng)預(yù)計(jì)以下,一個(gè)字段所需要存儲(chǔ)的數(shù)值最大有可能是多大,然后選擇適當(dāng)?shù)臄?shù)據(jù)類(lèi)型。NUMERIC
為了能對(duì)字段所存放的數(shù)據(jù)有更多的控制,你可以使用NUMERIC型數(shù)據(jù)來(lái)同時(shí)表示一個(gè)數(shù)的整數(shù)部分和小數(shù)部分。NUMERIC型數(shù)據(jù)使你能表示十分大的數(shù)——比INT型數(shù)據(jù)要大得多。一個(gè)NUMERIC型字段可以存儲(chǔ)從-1038到1038范圍內(nèi)的數(shù)。NUMERIC型數(shù)據(jù)還使你能表示有小數(shù)部分的數(shù)。例如,你可以在NUMERIC型字段中存儲(chǔ)小數(shù)3.14。
當(dāng)定義一個(gè)NUMERIC型字段時(shí),你需要同時(shí)指定整數(shù)部分的大小和小數(shù)部分的大小。如:MUNERIC(23,0)
一個(gè)NUMERIC型數(shù)據(jù)的整數(shù)部分最大只能有28位,小數(shù)部分的位數(shù)必需小于或等于整數(shù)部分的位數(shù),小數(shù)部分可以是零。MONEYVSSMALLMONEY
你可以使用INT型或NUMERIC型數(shù)據(jù)來(lái)存儲(chǔ)錢(qián)數(shù)。但是,專(zhuān)門(mén)有另外兩種數(shù)據(jù)類(lèi)型用于此目的。假使你希望你的網(wǎng)點(diǎn)能掙好多錢(qián),你可以使用MONEY型數(shù)據(jù)。假使你的野心不大,你可以使用SMALLMONEY型數(shù)據(jù)。MONEY型數(shù)據(jù)可以存儲(chǔ)從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢(qián)數(shù)。假使你需要存儲(chǔ)比這還大的金額,你可以使用NUMERIC型數(shù)據(jù)。SMALLMONEY型數(shù)據(jù)只能存儲(chǔ)從-214,748.3648到214,748.3647的錢(qián)數(shù)。同樣,假使可以的話(huà),你應(yīng)當(dāng)用SMALLMONEY型來(lái)代替MONEY型數(shù)據(jù),以節(jié)省空間。
規(guī)律型BIT
假使你使用復(fù)選框(CHECKBOX)從網(wǎng)頁(yè)中搜集信息,你可以把此信息存儲(chǔ)在BIT型字段中。BIT型字段只能取兩個(gè)值:0或1。
留心,在你創(chuàng)立好一個(gè)表之后,你不能向表中添加BIT型字段。假使你計(jì)劃在一個(gè)表中包含BIT型字段,你必需在創(chuàng)立表時(shí)完成。日期型
DATETIMEVSSMALLDATETIME
一個(gè)DATETIME型的字段可以存儲(chǔ)的日期范圍是從1753年1月1日第一毫秒到9999年12月31日最終一毫秒。
假使你不需要覆蓋這么大范圍的日期和時(shí)間,你可以使用SMALLDATETIME型數(shù)據(jù)。它與DATETIME型數(shù)據(jù)同樣使用,只不過(guò)它能表示的日期和時(shí)間范圍比DATETIME型數(shù)據(jù)小,而且不如DATETIME型數(shù)據(jù)確切。一個(gè)SMALLDATETIME型的字段能夠存儲(chǔ)從1900年1月1日到2079年6月6日的日期,它只能確切到秒。DATETIME型字段在你輸入日期和時(shí)間之前并不包含實(shí)際的數(shù)據(jù),認(rèn)識(shí)這一點(diǎn)是重要的。
簡(jiǎn)單的Transact-SQL查詢(xún)只包括選擇列表、FROM子句和WHERE子句。它們分別說(shuō)明所查詢(xún)列、查詢(xún)的表或視圖、以及探尋條件等。
例如,下面的語(yǔ)句查詢(xún)testtable表中姓名為“張三〞的nickname字段和email字段。
SELECTnickname,emailFROMtesttableWHEREname='張三'(一)選擇列表
選擇列表(select_list)指出所查詢(xún)列,它可以是一組列名列表、星號(hào)、表達(dá)式、變量(包括局部變量和全局變量)等構(gòu)成。1、選擇所有列
例如,下面語(yǔ)句顯示testtable表中所有列的數(shù)據(jù):SELECT*
FROMtesttable
2、選擇部分列并指定它們的顯示次序
查詢(xún)結(jié)果集合中數(shù)據(jù)的排列順序與選擇列表中所指定的列名排列順序一致。例如:
SELECTnickname,emailFROMtesttable
3、更改列標(biāo)題
在選擇列表中,可重新指定列標(biāo)題。定義格式為:列標(biāo)題=列名列名列標(biāo)題
假使指定的列標(biāo)題不是標(biāo)準(zhǔn)的標(biāo)識(shí)符格式時(shí),應(yīng)使用引號(hào)定界符,例如,以下語(yǔ)句使用漢字顯示列標(biāo)題:
SELECT昵稱(chēng)=nickname,電子郵件=emailFROMtesttable4、刪除重復(fù)行
SELECT語(yǔ)句中使用ALL或DISTINCT選項(xiàng)來(lái)顯示表中符合條件的所有行或刪除其中重復(fù)的數(shù)據(jù)行,默認(rèn)為ALL。使用DISTINCT選項(xiàng)時(shí),對(duì)于所有重復(fù)的數(shù)據(jù)行在SELECT返回的結(jié)果集合中只保存一行。5、限制返回的行數(shù)
使用TOPn[PERCENT]選項(xiàng)限制返回的數(shù)據(jù)行數(shù),TOPn說(shuō)明返回n行,而TOPnPERCENT時(shí),說(shuō)明n是表示一百分?jǐn)?shù),指定返回的行數(shù)等于總行數(shù)的百分之幾。
例如:
SELECTTOP2*FROMtesttable
SELECTTOP20PERCENT*FROMtesttable(二)FROM子句
FROM子句指定SELECT語(yǔ)句查詢(xún)及與查詢(xún)相關(guān)的表或視圖。在FROM子句中最多可指定256個(gè)表或視圖,它們之間用逗號(hào)分隔。
在FROM子句同時(shí)指定多個(gè)表或視圖時(shí),假使選擇列表中存在同名列,這時(shí)應(yīng)使用對(duì)象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時(shí)存在cityid列,在查詢(xún)兩個(gè)表中的cityid時(shí)應(yīng)使用下面語(yǔ)句格式加以限定:SELECTusername,citytable.cityidFROMusertable,citytable
WHEREusertable.cityid=citytable.cityid
在FROM子句中可用以下兩種格式為表或視圖指定別名:表名as別名表名別名
例如上面語(yǔ)句可用表的別名格式表示為:SELECTusername,b.cityid
FROMusertablea,citytablebWHEREa.cityid=b.cityid
SELECT不僅能從表或視圖中檢索數(shù)據(jù),它還能夠從其它查詢(xún)語(yǔ)句所返回的結(jié)果集合中查詢(xún)數(shù)據(jù)。例如:
SELECTa.au_fname+a.au_lnameFROMauthorsa,titleauthorta(SELECTtitle_id,titleFROMtitles
WHEREytd_sales>10000)ASt
WHEREa.au_id=ta.au_id
ANDta.title_id=t.title_id
此例中,將SELECT返回的結(jié)果集
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版試用期勞動(dòng)合同模板合同
- 土地承包合同法律文本示例
- 廠家設(shè)備租賃合同樣本集錦
- 項(xiàng)目合作人才服務(wù)合同
- 茶葉購(gòu)銷(xiāo)合同模板
- 新產(chǎn)品開(kāi)發(fā)項(xiàng)目合同協(xié)議書(shū)范本
- 保密合同-工作手機(jī)保管細(xì)則
- 度設(shè)備采購(gòu)借款合同模板
- 倉(cāng)儲(chǔ)用房租賃合同參考樣本
- 度醫(yī)療服務(wù)采購(gòu)合同
- 高警示藥物處方審核要點(diǎn)
- 2022年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握姓Z(yǔ)文模擬試題及答案
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 員工晨會(huì)記錄表
- 《兒科學(xué)》教案緒論、生長(zhǎng)發(fā)育(可編輯)
- 第二章政府審計(jì)組織與審計(jì)法律規(guī)范
- 楚才辦公室裝修設(shè)計(jì)方案20140315
- 人教版八年級(jí)(上冊(cè))物理習(xí)題全集(附答案)
- 電影院影務(wù)崗位工作流程
- 衛(wèi)生責(zé)任區(qū)域劃分表
- 《感染性腹瀉》PPT課件.ppt
評(píng)論
0/150
提交評(píng)論