![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xùn)課程課件_第1頁(yè)](http://file4.renrendoc.com/view/43fc2e0c9de1f9213a1d97d0bdea7b2e/43fc2e0c9de1f9213a1d97d0bdea7b2e1.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xùn)課程課件_第2頁(yè)](http://file4.renrendoc.com/view/43fc2e0c9de1f9213a1d97d0bdea7b2e/43fc2e0c9de1f9213a1d97d0bdea7b2e2.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xùn)課程課件_第3頁(yè)](http://file4.renrendoc.com/view/43fc2e0c9de1f9213a1d97d0bdea7b2e/43fc2e0c9de1f9213a1d97d0bdea7b2e3.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xùn)課程課件_第4頁(yè)](http://file4.renrendoc.com/view/43fc2e0c9de1f9213a1d97d0bdea7b2e/43fc2e0c9de1f9213a1d97d0bdea7b2e4.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xùn)課程課件_第5頁(yè)](http://file4.renrendoc.com/view/43fc2e0c9de1f9213a1d97d0bdea7b2e/43fc2e0c9de1f9213a1d97d0bdea7b2e5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)一、SQLserverSQL語(yǔ)言概要二、如何讀懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)圖三、如何使用SQLServer企業(yè)管理器、查詢分析器四、.NET中對(duì)于數(shù)據(jù)庫(kù)訪問(wèn)提供的對(duì)象(熟悉DataSet、DataTable、DataRow對(duì)象)五、使用SqlHelper并創(chuàng)建DBAccess實(shí)現(xiàn)數(shù)據(jù)庫(kù)封裝六、如何使用DBAccess提供的方法
目錄一、SQLserverSQL語(yǔ)言概要目錄
一、SQL語(yǔ)言概要一、數(shù)據(jù)類型二、SQL語(yǔ)句
一、SQL語(yǔ)言概要一、數(shù)據(jù)類型
數(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)度沒(méi)有達(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ù)類型Char和Varchar
數(shù)據(jù)類型Nchar、Nvarcharnvarchar、nchar從名稱上看只是多了個(gè)字母“n”,它表示存儲(chǔ)的是Unicode數(shù)據(jù)類型的字符。字符中,英文字符只需要一個(gè)字節(jié)存儲(chǔ)就足夠了,但漢字眾多,需要兩個(gè)字節(jié)存儲(chǔ),英文與漢字同時(shí)存在時(shí)容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問(wèn)題而產(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è)漢字??梢钥闯鍪褂胣char、nvarchar數(shù)據(jù)類型時(shí)不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲(chǔ)英文時(shí)數(shù)量上有些損失。數(shù)據(jù)類型Nchar、Nvarchar
數(shù)據(jù)類型DateTimedatetime:從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確到百分之三秒。數(shù)據(jù)類型DateTime
數(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ù)類型BigInt、Int、Smal數(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)。數(shù)據(jù)類型Decimal/Numeric
SQL語(yǔ)句Select語(yǔ)句Insert語(yǔ)句Update語(yǔ)句Delete語(yǔ)句其他常用的SQL語(yǔ)句SQL語(yǔ)句Select語(yǔ)句SELECT[ALL|DISTINCT]<select_list>
FROM{<table_source>}[,…n]
WHERE<search_condition>PartialSyntax1SELECTStatementSelectListWHEREFROMSELECT[ALL|DISTINCT]<selec指定列employeeidlastnamefirstnametitle1DavolioNancySalesRepresentative2FullerAndrewVicePresident,Sales3LeverlingJanetSalesRepresentative4PeacockMargaretSalesRepresentative5BuchananStevenSalesManager6SuyamaMichaelSalesRepresentative7KingRobertSalesRepresentative8CallahanLauraInsideSalesCoordinator9DodsworthAnneSalesRepresentativeUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesGO指定列employeeidlastnaWHERE——過(guò)濾行employeeidlastnamefirstnametitle5BuchananStevenSalesManagerUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesWHEREemployeeid=5GOWHERE——過(guò)濾行employeei修改列名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)SELECTau_fnam更改表名1)SELECTa.*fromauthorsasa2)SELECTa.*fromauthorsa3)selectb.*from(select*fromauthors)asb更改表名1)SELECTa.*froInsert單行數(shù)據(jù)INSERT…VALUES多行數(shù)據(jù)INSERT…SELECTSELECTINTO插入部分?jǐn)?shù)據(jù)使用默認(rèn)插入數(shù)據(jù)Insert單行數(shù)據(jù)插入單行數(shù)據(jù)語(yǔ)法INSERTINTO表名[列名序列]VALUES(值序列)例子USEnorthwind
INSERTINTOorders
(ID,quantity,note)VALUES(1,10,’NewOrder’)GO插入單行數(shù)據(jù)語(yǔ)法USEnorthwind
INSERTIDELETE語(yǔ)法DELETEFROM表名[WHERE刪除條件]例子USEnorthwind
DELETEfromordersGODELETE語(yǔ)法USEnorthwind
DELETEfUSEnorthwindUPDATEproducts
SETunitprice=(unitprice*1.1)GOUpdate語(yǔ)法UPDATE表名SET列名=常量值|表達(dá)式[WHERE更新條件]例子USEnorthwindUpdate語(yǔ)法其他有用的SQL刪除重復(fù)行限制返回行數(shù)IN(NOTIN)LIKEISNULL查詢結(jié)果排序ISNULL()函數(shù)聯(lián)合查詢其他有用的SQL刪除重復(fù)行1、刪除重復(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é)果集合中只保留一行。
2、限制返回的行數(shù)
使用TOPn[PERCENT]選項(xiàng)限制返回的數(shù)據(jù)行數(shù),TOPn說(shuō)明返回n行,而TOPnPERCENT時(shí),說(shuō)明n是
表示一百分?jǐn)?shù),指定返回的行數(shù)等于總行數(shù)的百分之幾。
例如:
SELECTTOP2*
FROMtesttable
SELECTTOP20PERCENT*
FROMtesttable
1、刪除重復(fù)行
SELECT語(yǔ)句中使用ALL或DISTNOTIN(項(xiàng)1,項(xiàng)2……)
模式匹配符(判斷值是否與指定的字符通配格式相符):LIKE、NOTLIKE
空值判斷符(判斷表達(dá)式是否為空):ISNULL、NOTISNULL
邏輯運(yùn)算符(用于多條件的邏輯連接):NOT、AND、OR
1、范圍運(yùn)算符例:ageBETWEEN10AND30相當(dāng)于age>=10ANDage<=30
2、列表運(yùn)算符例:countryIN(‘Germany’,‘China’)
3、模式匹配符例:常用于模糊查找,它判斷列值是否與指定的字符串格式相匹配??捎糜赾har、
varchar、text、ntext、datetime和smalldatetime等類型查詢。
空值判斷符例WHEREageISNULL
邏輯運(yùn)算符:優(yōu)先級(jí)為NOT、AND、OR
NOTIN(項(xiàng)1,項(xiàng)2……)
(四)查詢結(jié)果排序
使用ORDERBY子句對(duì)查詢返回的結(jié)果按一列或多列排序。ORDERBY子句的語(yǔ)法格式為:
ORDERBY{column_name[ASC|DESC]}[,…n]
其中ASC表示升序,為默認(rèn)值,DESC為降序。例如:
SELECT*
FROMusertable
ORDERBYagedesc,useridASC
另外,可以根據(jù)表達(dá)式進(jìn)行排序。
數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xù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一起使用
下面的示例查找所有書(shū)的平均價(jià)格,用值$10.00替換titles表的price列中的所有NULL條目。
USEpubsGOSELECTAVG(ISNULL(price,$10.00))FROMtitlesGO
下面是結(jié)果集:
--------------------------14.24(1row(s)affected)
B.使用ISNULL
下面的示例為titles表中的所有書(shū)選擇書(shū)名、類型及價(jià)格。如果一個(gè)書(shū)名的價(jià)格是NULL,那么在結(jié)果集中顯示的價(jià)格為0.00。
USEpubsGOSELECTSUBSTRING(title,1,15)ASTitle,typeASType,ISNULL(price,0.00)ASPriceFROMtitlesGO
ISNULL(check_expression二、聯(lián)合查詢內(nèi)連接左連接右連接關(guān)鍵詞innerjoin、leftjoin、rightjoin二、聯(lián)合查詢Join用途:當(dāng)你要從兩個(gè)或者以上的表中選取結(jié)果集時(shí),你就會(huì)用到JOIN。例:“Employees”表中的數(shù)據(jù)如下,(其中ID為主鍵):IDName01Hansen,Ola02Svendson,Tove03Svendson,Stephen04Pettersen,Kari“Orders”表中的數(shù)據(jù)如下:IDProduct01Printer03Table03Chair用Employees的ID和Orders的ID相關(guān)聯(lián)選取數(shù)據(jù):JoinSELECTEmployees.Name,Orders.ProductFROMEmployees,OrdersWHEREEmployees.ID=Orders.ID返回結(jié)果:NameProductHansen,OlaPrinterSvendson,StephenTableSvendson,StephenChair或者你也可以用JOIN關(guān)鍵字來(lái)完成上面的操作:SELECTEmployees.Name,Orders.ProductFROMEmployeesINNERJOINOrdersONEmployees.ID=Orders.ID
INNERJOIN的語(yǔ)法:SELECTfield1,field2,field3FROMfirst_tableINNERJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield
解釋:INNERJOIN返回的結(jié)果集是兩個(gè)表中所有相匹配的數(shù)據(jù)。SELECTEmployees.Name,Orders.LEFTJOIN的語(yǔ)法: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”中沒(méi)有相匹配的數(shù)據(jù)。LEFTJOIN的語(yǔ)法:RIGHTJOIN的語(yǔ)法: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_table”中所有的行盡管在”first_table”中沒(méi)有相匹配的數(shù)據(jù)。RIGHTJOIN的語(yǔ)法:
二、數(shù)據(jù)庫(kù)設(shè)計(jì)圖講解
二、數(shù)據(jù)庫(kù)設(shè)計(jì)圖講解數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xùn)課程
三、使用企業(yè)管理器和查詢分析器(實(shí)例)
三、使用企業(yè)管理器和查詢分析器(
四、ADO.NETDataSetDataSet對(duì)象是支持ADO.NET的斷開(kāi)式、分布式數(shù)據(jù)方案的核心對(duì)象。DataSet是數(shù)據(jù)的內(nèi)存駐留表示形式,無(wú)論數(shù)據(jù)源是什么,它都會(huì)提供一致的關(guān)系編程模型。一個(gè)ADO.NETDataSet包含DataTable對(duì)象所表示的零個(gè)或更多個(gè)表的集合。DataTableCollection包含DataSet中的所有DataTable對(duì)象。DataTable在System.Data命名空間中定義,表示內(nèi)存駐留數(shù)據(jù)表。它包含DataColumnCollection所表示的列和ConstraintCollection所表示的約束的集合,這些列和約束一起定義了該表的架構(gòu)。DataTable還包含DataRowCollection所表示的行的集合,而DataRowCollection則包含表中的數(shù)據(jù)。DataTableDataRow(實(shí)例)
四、ADO.NETDataSet
五、使用SqlHelper并創(chuàng)建DBAccess實(shí)現(xiàn)數(shù)據(jù)庫(kù)封裝
實(shí)例
五、使用SqlHelper并創(chuàng)建
六、如何使用DBAccess提供的方法(實(shí)例)DataGrid控件的使用
六、如何使用DBAccess提供學(xué)習(xí)sqlserver有用的網(wǎng)址學(xué)習(xí)sqlserver有用的網(wǎng)址謝謝!
Thanksforyourattention!
謝謝!Thanksforyouratte演講完畢,謝謝觀看!演講完畢,謝謝觀看!數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)一、SQLserverSQL語(yǔ)言概要二、如何讀懂?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)圖三、如何使用SQLServer企業(yè)管理器、查詢分析器四、.NET中對(duì)于數(shù)據(jù)庫(kù)訪問(wèn)提供的對(duì)象(熟悉DataSet、DataTable、DataRow對(duì)象)五、使用SqlHelper并創(chuàng)建DBAccess實(shí)現(xiàn)數(shù)據(jù)庫(kù)封裝六、如何使用DBAccess提供的方法
目錄一、SQLserverSQL語(yǔ)言概要目錄
一、SQL語(yǔ)言概要一、數(shù)據(jù)類型二、SQL語(yǔ)句
一、SQL語(yǔ)言概要一、數(shù)據(jù)類型
數(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)度沒(méi)有達(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ù)類型Char和Varchar
數(shù)據(jù)類型Nchar、Nvarcharnvarchar、nchar從名稱上看只是多了個(gè)字母“n”,它表示存儲(chǔ)的是Unicode數(shù)據(jù)類型的字符。字符中,英文字符只需要一個(gè)字節(jié)存儲(chǔ)就足夠了,但漢字眾多,需要兩個(gè)字節(jié)存儲(chǔ),英文與漢字同時(shí)存在時(shí)容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問(wèn)題而產(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è)漢字??梢钥闯鍪褂胣char、nvarchar數(shù)據(jù)類型時(shí)不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲(chǔ)英文時(shí)數(shù)量上有些損失。數(shù)據(jù)類型Nchar、Nvarchar
數(shù)據(jù)類型DateTimedatetime:從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確到百分之三秒。數(shù)據(jù)類型DateTime
數(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ù)類型BigInt、Int、Smal數(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)。數(shù)據(jù)類型Decimal/Numeric
SQL語(yǔ)句Select語(yǔ)句Insert語(yǔ)句Update語(yǔ)句Delete語(yǔ)句其他常用的SQL語(yǔ)句SQL語(yǔ)句Select語(yǔ)句SELECT[ALL|DISTINCT]<select_list>
FROM{<table_source>}[,…n]
WHERE<search_condition>PartialSyntax1SELECTStatementSelectListWHEREFROMSELECT[ALL|DISTINCT]<selec指定列employeeidlastnamefirstnametitle1DavolioNancySalesRepresentative2FullerAndrewVicePresident,Sales3LeverlingJanetSalesRepresentative4PeacockMargaretSalesRepresentative5BuchananStevenSalesManager6SuyamaMichaelSalesRepresentative7KingRobertSalesRepresentative8CallahanLauraInsideSalesCoordinator9DodsworthAnneSalesRepresentativeUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesGO指定列employeeidlastnaWHERE——過(guò)濾行employeeidlastnamefirstnametitle5BuchananStevenSalesManagerUSEnorthwindSELECTemployeeid,lastname,firstname,titleFROMemployeesWHEREemployeeid=5GOWHERE——過(guò)濾行employeei修改列名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)SELECTau_fnam更改表名1)SELECTa.*fromauthorsasa2)SELECTa.*fromauthorsa3)selectb.*from(select*fromauthors)asb更改表名1)SELECTa.*froInsert單行數(shù)據(jù)INSERT…VALUES多行數(shù)據(jù)INSERT…SELECTSELECTINTO插入部分?jǐn)?shù)據(jù)使用默認(rèn)插入數(shù)據(jù)Insert單行數(shù)據(jù)插入單行數(shù)據(jù)語(yǔ)法INSERTINTO表名[列名序列]VALUES(值序列)例子USEnorthwind
INSERTINTOorders
(ID,quantity,note)VALUES(1,10,’NewOrder’)GO插入單行數(shù)據(jù)語(yǔ)法USEnorthwind
INSERTIDELETE語(yǔ)法DELETEFROM表名[WHERE刪除條件]例子USEnorthwind
DELETEfromordersGODELETE語(yǔ)法USEnorthwind
DELETEfUSEnorthwindUPDATEproducts
SETunitprice=(unitprice*1.1)GOUpdate語(yǔ)法UPDATE表名SET列名=常量值|表達(dá)式[WHERE更新條件]例子USEnorthwindUpdate語(yǔ)法其他有用的SQL刪除重復(fù)行限制返回行數(shù)IN(NOTIN)LIKEISNULL查詢結(jié)果排序ISNULL()函數(shù)聯(lián)合查詢其他有用的SQL刪除重復(fù)行1、刪除重復(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é)果集合中只保留一行。
2、限制返回的行數(shù)
使用TOPn[PERCENT]選項(xiàng)限制返回的數(shù)據(jù)行數(shù),TOPn說(shuō)明返回n行,而TOPnPERCENT時(shí),說(shuō)明n是
表示一百分?jǐn)?shù),指定返回的行數(shù)等于總行數(shù)的百分之幾。
例如:
SELECTTOP2*
FROMtesttable
SELECTTOP20PERCENT*
FROMtesttable
1、刪除重復(fù)行
SELECT語(yǔ)句中使用ALL或DISTNOTIN(項(xiàng)1,項(xiàng)2……)
模式匹配符(判斷值是否與指定的字符通配格式相符):LIKE、NOTLIKE
空值判斷符(判斷表達(dá)式是否為空):ISNULL、NOTISNULL
邏輯運(yùn)算符(用于多條件的邏輯連接):NOT、AND、OR
1、范圍運(yùn)算符例:ageBETWEEN10AND30相當(dāng)于age>=10ANDage<=30
2、列表運(yùn)算符例:countryIN(‘Germany’,‘China’)
3、模式匹配符例:常用于模糊查找,它判斷列值是否與指定的字符串格式相匹配??捎糜赾har、
varchar、text、ntext、datetime和smalldatetime等類型查詢。
空值判斷符例WHEREageISNULL
邏輯運(yùn)算符:優(yōu)先級(jí)為NOT、AND、OR
NOTIN(項(xiàng)1,項(xiàng)2……)
(四)查詢結(jié)果排序
使用ORDERBY子句對(duì)查詢返回的結(jié)果按一列或多列排序。ORDERBY子句的語(yǔ)法格式為:
ORDERBY{column_name[ASC|DESC]}[,…n]
其中ASC表示升序,為默認(rèn)值,DESC為降序。例如:
SELECT*
FROMusertable
ORDERBYagedesc,useridASC
另外,可以根據(jù)表達(dá)式進(jìn)行排序。
數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)培訓(xù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一起使用
下面的示例查找所有書(shū)的平均價(jià)格,用值$10.00替換titles表的price列中的所有NULL條目。
USEpubsGOSELECTAVG(ISNULL(price,$10.00))FROMtitlesGO
下面是結(jié)果集:
--------------------------14.24(1row(s)affected)
B.使用ISNULL
下面的示例為titles表中的所有書(shū)選擇書(shū)名、類型及價(jià)格。如果一個(gè)書(shū)名的價(jià)格是NULL,那么在結(jié)果集中顯示的價(jià)格為0.00。
USEpubsGOSELECTSUBSTRING(title,1,15)ASTitle,typeASType,ISNULL(price,0.00)ASPriceFROMtitlesGO
ISNULL(check_expression二、聯(lián)合查詢內(nèi)連接左連接右連接關(guān)鍵詞innerjoin、leftjoin、rightjoin二、聯(lián)合查詢Join用途:當(dāng)你要從兩個(gè)或者以上的表中選取結(jié)果集時(shí),你就會(huì)用到JOIN。例:“Employees”表中的數(shù)據(jù)如下,(其中ID為主鍵):IDName01Hansen,Ola02Svendson,Tove03Svendson,Stephen04Pettersen,Kari“Orders”表中的數(shù)據(jù)如下:IDProduct01Printer03Table03Chair用Employees的ID和Orders的ID相關(guān)聯(lián)選取數(shù)據(jù):JoinSELECTEmployees.Name,Orders.ProductFROMEmployees,OrdersWHEREEmployees.ID=Orders.ID返回結(jié)果:NameProductHansen,OlaPrinterSvendson,StephenTableSvendson,StephenChair或者你也可以用JOIN關(guān)鍵字來(lái)完成上面的操作:SELECTEmployees.Name,Orders.ProductFROMEmployeesINNERJOINOrdersONEmployees.ID=Orders.ID
INNERJOIN的語(yǔ)法:SELECTfield1,field2,field3FROMfirst_tableINNERJOINsecond_tableONfirst_table.keyfield=second_table.foreign_keyfield
解釋:INNERJOIN返回的結(jié)果集是兩個(gè)表中所有相匹配的數(shù)據(jù)。SELECTEmployees.Name,Orders.LEFTJOIN的語(yǔ)法: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é)果:Name
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球技術(shù)服務(wù)合同范例
- 2025年航空、航天設(shè)備相關(guān)專用設(shè)備項(xiàng)目提案報(bào)告模式
- 2025年國(guó)際會(huì)議服務(wù)提供商合同標(biāo)準(zhǔn)
- 2025年度公司股權(quán)策劃內(nèi)部轉(zhuǎn)讓協(xié)議
- 2025年宅基地共建住宅合同樣本
- 2025年人保租賃合同格式
- 2025年不銹鋼管材訂購(gòu)合同樣本
- 2025年個(gè)人購(gòu)置家居設(shè)施合同范文
- 2025年化學(xué)品倉(cāng)庫(kù)消防隔離帶鋪設(shè)工程承包協(xié)議
- 2025年圖書(shū)策劃保密合同
- 桂花-作文ppt-PPT課件(共14張)
- 高一數(shù)學(xué)概率部分知識(shí)點(diǎn)總結(jié)及典型例題解析 新課標(biāo) 人教版 必修
- 【課件】Unit1ReadingforWriting課件高中英語(yǔ)人教版(2019)必修第二冊(cè)
- 滴灌工程設(shè)計(jì)示例
- 鐵路運(yùn)費(fèi)計(jì)算方法
- 《小腦梗死護(hù)理查房》
- 免疫及炎癥相關(guān)信號(hào)通路
- 醫(yī)院室外管網(wǎng)景觀綠化施工組織設(shè)計(jì)
- 某風(fēng)電場(chǎng)設(shè)備材料設(shè)備清單
- —橋梁專業(yè)施工圖設(shè)計(jì)審查要(終)
- 德龍自卸車合格證掃描件(原圖)
評(píng)論
0/150
提交評(píng)論