




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)應(yīng)用開發(fā)一、SQLserverSQL語言概要二、如何讀懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)圖三、如何使用SQLServer企業(yè)管理器、查詢分析器四、.NET中對(duì)于數(shù)據(jù)庫(kù)訪問提供的對(duì)象(熟悉DataSet、DataTable、DataRow對(duì)象)五、使用SqlHelper并創(chuàng)建DBAccess實(shí)現(xiàn)數(shù)據(jù)庫(kù)封裝六、如何使用DBAccess提供的方法
目錄
一、SQL語言概要一、數(shù)據(jù)類型二、SQL語句
數(shù)據(jù)類型Char和Varcharchar和varchar的長(zhǎng)度都在1到8000之間,它們的區(qū)別在于char是定長(zhǎng)字符數(shù)據(jù),而varchar是變長(zhǎng)字符數(shù)據(jù)。所謂定長(zhǎng)就是長(zhǎng)度固定的,當(dāng)輸入的數(shù)據(jù)長(zhǎng)度沒有達(dá)到指定的長(zhǎng)度時(shí)將自動(dòng)以英文空格在其后面填充,使長(zhǎng)度達(dá)到相應(yīng)的長(zhǎng)度;而變長(zhǎng)字符數(shù)據(jù)則不會(huì)以空格填充。text存儲(chǔ)可變長(zhǎng)度的非Unicode數(shù)據(jù),最大長(zhǎng)度為2^31-1(2,147,483,647)個(gè)字符。
數(shù)據(jù)類型Nchar、Nvarcharnvarchar、nchar從名稱上看只是多了個(gè)字母“n”,它表示存儲(chǔ)的是Unicode數(shù)據(jù)類型的字符。字符中,英文字符只需要一個(gè)字節(jié)存儲(chǔ)就足夠了,但漢字眾多,需要兩個(gè)字節(jié)存儲(chǔ),英文與漢字同時(shí)存在時(shí)容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產(chǎn)生的,它所有的字符都用兩個(gè)字節(jié)表示,即英文字符也是用兩個(gè)字節(jié)表示。nchar、nvarchar的長(zhǎng)度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲(chǔ)4000個(gè)字符,不論是英文還是漢字;而char、varchar最多能存儲(chǔ)8000個(gè)英文,4000個(gè)漢字。可以看出使用nchar、nvarchar數(shù)據(jù)類型時(shí)不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲(chǔ)英文時(shí)數(shù)量上有些損失。
數(shù)據(jù)類型DateTimedatetime:從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確到百分之三秒。
數(shù)據(jù)類型BigInt、Int、SmallInt、TinyIntbigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型數(shù)據(jù)。
int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型數(shù)據(jù)。
smallint:從-2^15(-32,768)到2^15-1(32,767)的整數(shù)數(shù)據(jù)。
tinyint:從0到255的整數(shù)數(shù)據(jù)。
Bitbit:1或0的整數(shù)數(shù)據(jù)。數(shù)據(jù)類型Decimal/Numeric、Floact、Realdecimal和numeric這兩種數(shù)據(jù)類型是等效的。都有兩個(gè)參數(shù):p(精度)和s(小數(shù)位數(shù))。指定小數(shù)點(diǎn)左邊和右邊可以存儲(chǔ)的十進(jìn)制數(shù)字的最大個(gè)數(shù),p必須是從1到38之間的值。s指定小數(shù)點(diǎn)右邊可以存儲(chǔ)的十進(jìn)制數(shù)字的最大個(gè)數(shù),s必須是從0到p之間的值,默認(rèn)小數(shù)位數(shù)是0。float和realfloat:從-1.79^308到1.79^308之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。
real:從-3.40^38到3.40^38之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。在SQLServer中,real的同義詞為float(24)。
SQL語句Select語句Insert語句Update語句Delete語句其他常用的SQL語句SELECT[ALL|DISTINCT]<select_list>
FROM{<table_source>}[,…n]
WHERE<search_condition>PartialSyntax1SELECTStatementSelectListWHEREFROM指定列employeeidlastnamefirstnametitle1DavolioNancySalesRepresentative2FullerAndrewVicePresident,Sales3LeverlingJanetSalesRepresentative4PeacockMargaretSalesRepresentative5BuchananStevenSalesManager6SuyamaMichaelSalesRepresentative7KingRobertSalesRepresentative8CallahanLauraInsideSalesCoordinator9DodsworthAnneSalesRepresentativeUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesGOWHERE———過濾濾行employeeidlastnamefirstnametitle5BuchananStevenSalesManagerUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesWHEREemployeeid=5GO修改列名名1)SELECTau_fname,au_lname,city,state,phoneASTelephoneFROMauthors--推薦薦使用2)SELECTau_fname,au_lname,city,state,Telephone=phoneFROMauthors3)SELECTau_fname,au_lname,city,state,phoneTelephoneFROMauthors更改表名名1)SELECTa.*fromauthorsasa2)SELECTa.*fromauthorsa3)selectb.*from(select*fromauthors)asbInsert單行數(shù)據(jù)據(jù)INSERT……VALUES多行數(shù)據(jù)據(jù)INSERT……SELECTSELECTINTO插入部分?jǐn)?shù)據(jù)據(jù)使用默認(rèn)插入入數(shù)據(jù)插入單行數(shù)據(jù)據(jù)語法INSERTINTO表名[列名序列列]VALUES(值序列列)例子USEnorthwind
INSERTINTOorders
(ID,quantity,note))VALUES(1,10,’NewOrder’)GODELETE語法DELETEFROM表名[WHERE刪除條條件]例子USEnorthwind
DELETEfromordersGOUSEnorthwindUPDATEproductsSETunitprice=(unitprice*1.1)GOUpdate語法UPDATE表名SET列名名=常量值|表達(dá)式式[WHERE更新條條件]例子其他有用的SQL刪除重復(fù)行限制返回行數(shù)數(shù)IN(NOTIN)LIKEISNULL查詢結(jié)果排序序ISNULL()函數(shù)數(shù)聯(lián)合查詢1、刪除重復(fù)復(fù)行
SELECT語句句中使用ALL或DISTINCT選項(xiàng)來顯示示表中符合條條件的所有行行或刪除其中中重復(fù)的數(shù)據(jù)據(jù)行,默認(rèn)為為ALL。使用DISTINCT選選項(xiàng)時(shí),對(duì)于于所有重復(fù)的的數(shù)據(jù)行在SELECT返回的結(jié)果果集合中只保保留一行。2、限制制返回的行數(shù)數(shù)
使用TOPn[PERCENT]選項(xiàng)項(xiàng)限制返回的的數(shù)據(jù)行數(shù),,TOPn說明返回n行,而TOPnPERCENT時(shí),說明明n是
表示示一百分?jǐn)?shù),,指定返回的的行數(shù)等于總總行數(shù)的百分分之幾。例例如:
SELECTTOP2*
FROMtesttable
SELECTTOP20PERCENT*
FROMtesttableNOTIN(項(xiàng)1,項(xiàng)2……)模式匹配符(判斷值是否否與指定的字字符通配格式式相符):LIKE、NOTLIKE
空值值判斷符(判判斷表達(dá)式是是否為空)::ISNULL、NOTISNULL邏邏輯運(yùn)算符符(用于多條條件的邏輯連連接):NOT、AND、OR1、范圍運(yùn)算算符例:ageBETWEEN10AND30相相當(dāng)于age>=10ANDage<=30
2、列列表運(yùn)算符例例:countryIN(‘Germany’,‘China’’)
3、模模式匹配符例例:常用于模模糊查找,它它判斷列值是是否與指定的的字符串格式式相匹配??煽捎糜赾har、
varchar、text、ntext、datetime和smalldatetime等等類型查詢。??罩蹬袛喾齏HEREageISNULL邏輯運(yùn)算符::優(yōu)先級(jí)為NOT、AND、OR(四)查詢結(jié)結(jié)果排序使用ORDERBY子子句對(duì)查詢返返回的結(jié)果按按一列或多列列排序。ORDERBY子句的語語法格式為::ORDERBY{column_name[ASC|DESC]}[,…n]其中ASC表表示升序,為為默認(rèn)值,DESC為降降序。例如::SELECT*
FROMusertable
ORDERBYagedesc,useridASC
另外,,可以根據(jù)表表達(dá)式進(jìn)行排排序。ISNULL(check_expression,replacement_value)參數(shù)
check_expression將將被檢查是否否為NULL的表達(dá)式式。check_expression可以以是任何類型型的。
replacement_value
在check_expression為為NULL時(shí)將返回回的表達(dá)式。。replacement_value必須須與check_expresssion具具有相同的的類型。返返回類型返返回與check_expression相同的類類型。
注釋釋
如果check_expression不為NULL,那那么返回該表表達(dá)式的值;;否則返回replacement_value。示示例A.將將ISNULL與AVG一一起使用下下面的示例查查找所有書的的平均價(jià)格,,用值$10.00替替換titles表表的price列列中的所有NULL條條目。USEpubsGOSELECTAVG(ISNULL(price,$10.00))FROMtitlesGO
下面是結(jié)結(jié)果集:--------------------------14.24(1row(s)affected)
B.使使用ISNULL下下面的示例例為titles表表中的所有書書選擇書名、、類型及價(jià)格格。如果一個(gè)個(gè)書名的價(jià)格格是NULL,那么在在結(jié)果集中顯顯示的價(jià)格為為0.00。
USEpubsGOSELECTSUBSTRING(title,1,15)ASTitle,typeASType,ISNULL(price,0.00)ASPriceFROMtitlesGO二、聯(lián)合查詢?cè)儍?nèi)連接左連接右連接關(guān)鍵詞innerjoin、leftjoin、rightjoinJoin用途:當(dāng)你要從兩個(gè)個(gè)或者以上的的表中選取結(jié)結(jié)果集時(shí),你你就會(huì)用到JOIN。例:“Employees””表中的數(shù)據(jù)據(jù)如下,(其其中ID為主主鍵):IDName01Hansen,Ola02Svendson,Tove03Svendson,Stephen04Pettersen,Kari“Orders”表中的的數(shù)據(jù)如下::IDProduct01Printer03Table03Chair用Employees的的ID和Orders的的ID相關(guān)聯(lián)聯(lián)選取數(shù)據(jù)::SELECTEmployees.Name,Orders.ProductFROMEmployees,OrdersWHEREEmployees.ID=Orders.ID返回結(jié)果:NameProductHansen,OlaPrinterSvendson,StephenTableSvendson,StephenChair或者你也可以以用JOIN關(guān)鍵字來完完成上面的操操作:SELECTEmployees.Name,Orders.ProductFROMEmployeesINNERJOINOrdersONEmployees.ID=Orders.IDINNERJOIN的的語法:SELECTfield1,field2,field3FROMfirst_tableINNERJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield解釋:INNERJOIN返回的的結(jié)果集是兩兩個(gè)表中所有有相匹配的數(shù)數(shù)據(jù)。LEFTJOIN的語語法:SELECTfield1,field2,field3FROMfirst_tableLEFTJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield用”Employees”表去左外外聯(lián)結(jié)”O(jiān)rders””表去找出相相關(guān)數(shù)據(jù):SELECTEmployees.Name,Orders.ProductFROMEmployeesLEFTJOINOrdersONEmployees.ID=Orders.ID返回結(jié)果:NameProductHansen,OlaPrinterSvendson,ToveSvendson,StephenTableSvendson,StephenChairPettersen,Kari解釋:LEFTJOIN返回”first_table”中所有的的行盡管在””second_table”中中沒有相匹配配的數(shù)據(jù)。RIGHTJOIN的的語法:SELECTfield1,field2,field3FROMfirst_tableRIGHTJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield用”Employees”表去右外外聯(lián)結(jié)”O(jiān)rders””表去找出相相關(guān)數(shù)據(jù):SELECTEmployees.Name,Orders.ProductFROMEmployeesRIGHTJOINOrdersONEmployees.ID=Orders.ID返回結(jié)果:NameProductHansen,OlaPrinterSvendson,StephenTableSvendson,StephenChair解釋:RIGHTJOIN返回””second_ta
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶店品牌授權(quán)經(jīng)營(yíng)合同-2025年度市場(chǎng)推廣計(jì)劃
- 二零二五年度個(gè)人手房車位使用權(quán)轉(zhuǎn)讓及車位租賃管理服務(wù)合同
- 二零二五年度食堂食品安全監(jiān)控用工合同
- 二零二五年度能源管理文件傳輸與監(jiān)控合同
- 二零二五年度房地產(chǎn)項(xiàng)目股權(quán)回購(gòu)轉(zhuǎn)讓協(xié)議書
- 二零二五年度人工智能助手免責(zé)任協(xié)議書
- 二零二五年度學(xué)生宿舍租賃管理服務(wù)合同
- 二零二五年度農(nóng)業(yè)科技園區(qū)經(jīng)營(yíng)權(quán)合作書
- 二零二五年度教育機(jī)構(gòu)貸款擔(dān)保合同
- 2025年度蔬菜大棚溫室租賃與農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)建設(shè)合同
- 老年醫(yī)學(xué)科建設(shè)與發(fā)展
- 公司積分制管理實(shí)施方案
- 《Maya三維模型制作項(xiàng)目式教程(微課版)》全套教學(xué)課件
- 2024年湖南科技職業(yè)學(xué)院高職單招語文歷年參考題庫(kù)含答案解析
- 《電梯安全教育培訓(xùn)》課件
- 2024年山東司法警官職業(yè)學(xué)院高職單招語文歷年參考題庫(kù)含答案解析
- 《業(yè)財(cái)一體化實(shí)訓(xùn)教程-金蝶云星空V7.5》
- 《性病防治知識(shí)講座》課件
- 工業(yè)機(jī)器人工作站系統(tǒng)組建課件 5.1康耐視is2000工業(yè)相機(jī)視覺識(shí)別操作
- 2025年中智集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 肝癌圍手術(shù)期的護(hù)理
評(píng)論
0/150
提交評(píng)論