版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句4.3UPDATE語句4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
1第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.1在SQLServerManagementStudio中查看記錄4.1.1打開表4.1.2快速定位記錄4.1.3返回前幾條記錄24.1在SQLServerManagementStu4.1.1打開表例:在SQLserverManagementStudio中打開“Northwind”數(shù)據(jù)庫(kù)中的“products”表。1.啟動(dòng)【SQLserverManagementStudio】,在【對(duì)象資源管理器】中展開樹形目錄,定位到【products】表。2.右擊【products】表,在彈出的快捷菜單中選擇【打開表】選項(xiàng)。3.此時(shí)已經(jīng)將【products】表打開了,右邊對(duì)話框顯示的是【products】表里的記錄內(nèi)容,該表格對(duì)話框名為【結(jié)果窗格】。34.1.1打開表例:在SQLserverManagem4.1.2快速定位記錄在【結(jié)果窗格】的最下方,可以快速定位到上一條、下一條記錄,也可以直接跳到第一條、最后一條記錄。如果要想跳到某一條記錄的話,在文本框內(nèi)輸入數(shù)字,再按回車鍵。
44.1.2快速定位記錄在【結(jié)果窗格】的最下方,可以4.1.3返回前幾條記錄1.在打開表之后,調(diào)出【屬性】對(duì)話框。調(diào)出方法為:?jiǎn)螕舨藛螜谥械摹疽晥D】|【屬性窗口】選項(xiàng)。在【屬性】對(duì)話框里,展開【TOP規(guī)范】選項(xiàng),在【(最前面)】下拉列表框里選擇【是】選項(xiàng),在【percent】下拉列表框里選擇【否】選項(xiàng),在【表達(dá)式】文本框里輸入數(shù)字“10”。2.選擇【結(jié)果窗格】,然后再單擊【運(yùn)行SQL】按鈕。在【結(jié)果窗格】里只顯示前十條記錄。54.1.3返回前幾條記錄1.在打開表之后,調(diào)出【屬性】對(duì)話第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句
4.3UPDATE語句4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
6第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.2INSERT語句4.2.1在SSMS中插入記錄4.2.2用INSERT語句記錄74.2INSERT語句4.2.1在SSMS中插入記錄74.2.1在SSMS中插入記錄注意事項(xiàng):1.標(biāo)識(shí)列、計(jì)算列的字段不能輸入字段內(nèi)容。2.不能為NULL值的字段必須輸入字段內(nèi)容。3.輸入字段內(nèi)容的數(shù)據(jù)類型要和字段定義的數(shù)據(jù)類型一致。4.如果字段上有約束,一定要符合約束要求。5.如果要讓字段輸入默認(rèn)值,則不用在字段內(nèi)輸入任何數(shù)據(jù),在保存記錄時(shí),SQLserver會(huì)自動(dòng)填入默認(rèn)值,但前提是該字段設(shè)置有默認(rèn)值。
84.2.1在SSMS中插入記錄注意事項(xiàng):84.2.2用INSERT語句記錄語法格式如下:INSERT[INTO]
table_name
{[(column_list)]{VALUES({expression}[,...n])}}94.2.2用INSERT語句記錄語法格式如下:94.2.2用INSERT語句記錄語法注釋:
[INTO]:一個(gè)可選的關(guān)鍵字,可以將它用在INSERT和目標(biāo)表之間。table_name:將要接收數(shù)據(jù)的表或table變量的名稱。
(column_list):要在其中插入數(shù)據(jù)的一列或多列的列表。必須用圓括號(hào)將column_list括起來,并且用逗號(hào)進(jìn)行分隔。VALUES:引入要插入的數(shù)據(jù)值的列表。對(duì)于column_list(如果已指定)中或者表中的每個(gè)列,都必須有一個(gè)數(shù)據(jù)值。必須用圓括號(hào)將值列表括起來。如果VALUES列表中的值與表中列的順序不相同,或者未包含表中所有列的值,那么必須使用column_list明確地指定存儲(chǔ)每個(gè)傳入值的列。104.2.2用INSERT語句記錄語法注釋:104.2.2用INSERT語句記錄1.最簡(jiǎn)單的INSERT語句
[示范案例1]
在“Northwind”數(shù)據(jù)庫(kù)的“OrderDetails”表里插入一條記錄,其中“OrderID”字段的值為10248;“ProductID”字段的值為1;“UnitPrice”字段的值為10;“Quantity”字段的值為2;“Discount”字段的值為0.8。程序清單如下:INSERT[orderdetails](orderid,productid,unitprice,quantity,discount)VALUES(10248,1,10,2,0.8)114.2.2用INSERT語句記錄1.最簡(jiǎn)單的INSERT4.2.2用INSERT語句記錄2.省略清單的INSERT語句[示范案例2]
在上例中省略字段清單,程序清單如下:INSERT[orderdetails]VALUES(10249,2,10,2,0.9)124.2.2用INSERT語句記錄2.省略清單的INSERT4.2.2用INSERT語句記錄3.標(biāo)識(shí)列、允許為空字段的處理[示范案例3]
在“Northwind”數(shù)據(jù)庫(kù)的“Categories”表里插入一條記錄,其中“CategoryName”字段的值為“圖書”;“Description”字段的值為“所有類型的圖書”。程序清單如下:INSERTINTOcategories(categoryname,description)VALUES('圖書','所有類型的圖書')134.2.2用INSERT語句記錄3.標(biāo)識(shí)列、允許為空字段的4.2.2用INSERT語句記錄4.有默認(rèn)值字段的處理[示范案例4]
在“學(xué)生”數(shù)據(jù)庫(kù)中創(chuàng)建“教師”表(性別為有默認(rèn)值列)
。在該表中錄入數(shù)據(jù)。程序清單如下:INSERTINTOteachers(teach_id,teach_name,tsex,tdegree)VALUES('rj001','李波',DEFAULT,'本科')144.2.2用INSERT語句記錄4.有默認(rèn)值字段的處理144.2.2用INSERT語句記錄5.省略VALUES清單的INSERT語句
在T-SQL中,有一種簡(jiǎn)單的插入多行的方法。這種方法是使用SELECT語句查詢出的結(jié)果代替VALUES子句。這種方法的語法結(jié)構(gòu)如下:
INSERT[INTO]table_name(column_name1[,column_name2,…column_namen])
SELECTcolumn_name[,…n]
FROMtable_name
WHEREsearch_conditions154.2.2用INSERT語句記錄5.省略VALUES清單的4.2.2用INSERT語句記錄[示范案例5]在“Northwind”數(shù)據(jù)庫(kù)中,從“Employees”表里查出“EmployeeID”、“LastName”、“FirstName”、“PostalCode”、“City”、“Address”、“HomePhone”7個(gè)字段,組成一個(gè)“雇員通信錄”表。164.2.2用INSERT語句記錄[示范案例5]164.2.2用INSERT語句記錄程序清單如下:CREATETABLE雇員通信錄(雇員IDintprimarykey,姓氏nvarchar(20)notnull,名字nvarchar(10)notnull,郵政編碼nvarchar(10)null,城市nvarchar(15)null,地址nvarchar(60)null,家庭電話nvarchar(24)null)GOINSERTINTO雇員通信錄SELECTemployeeid,lastname,firstname,postalcode,city,address,homephoneFROMemployeesGO174.2.2用INSERT語句記錄程序清單如下:17第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句4.3UPDATE語句
4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
18第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.3UPDATE語句4.3.1在SSMS中更新記錄4.3.2用UPDATE語句更新記錄194.3UPDATE語句4.3.1在SSMS中更新記錄194.3.1在SSMS中更新記錄注意事項(xiàng):1.在修改char和nchar這類長(zhǎng)度固定的字段時(shí),要注意其后的空格。2.在可以為空值NULL的字段中,如果要設(shè)為NULL,可以按Ctrl+0鍵。3.如果將記錄字段內(nèi)容修改過后,又想回到修改前的值,可用將光標(biāo)聚焦到該字段,然后按Esc鍵。4.如果想放棄整條記錄的修改,可以連按兩次Esc鍵。204.3.1在SSMS中更新記錄注意事項(xiàng):204.3.2用UPDATE語句更新記錄語法格式如下:
UPDATEtable_name
SET{column_name={expression|DEFAULT|NULL}}[,...n][FROM{<table_source>}[,...n]][WHERE<search_condition>]<table_source>::=table_name[[AS]table_alias][WITH(<table_hint>[,...n])]214.3.2用UPDATE語句更新記錄語法格式如下:214.3.2用UPDATE語句更新記錄語法注釋:table_name:需要更新的表的名稱。SET:指定要更新的列或變量名稱的列表。column_name:含有要更改數(shù)據(jù)的列的名稱。{expression|DEFAULT|NULL}:列值表達(dá)式。
<table_source>:修改數(shù)據(jù)來源表。
224.3.2用UPDATE語句更新記錄語法注釋:224.3.2用UPDATE語句更新記錄[示范案例6]使用T-SQL語句,將“Northwind”數(shù)據(jù)庫(kù)“Employees”表中“EmployeeID”字段值為1的記錄的“LastName”字段值修改為“bb”。程序清單如下:
UPDATEemployeesSETlastname='bb'WHEREemployeeid=1234.3.2用UPDATE語句更新記錄[示范案例6]234.3.2用UPDATE語句更新記錄[示范案例7]用計(jì)算值來更新記錄,修改“Northwind”數(shù)據(jù)庫(kù)“Products”表中“ProductID”字段值為1的記錄的“UnitPrice”字段的值,使其值在當(dāng)前的基礎(chǔ)上減少5。程序清單如下:
UPDATEproductsSETunitprice=unitprice-5WHEREproductid=1244.3.2用UPDATE語句更新記錄[示范案例7]24第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句4.3UPDATE語句4.4DELETE語句
4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
25第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.4DELETE語句4.4.1在SSMS中刪除記錄4.4.2用DELETE語句刪除記錄4.4.3用Truncatetable語句刪除記錄
264.4DELETE語句4.4.1在SSMS中刪除記錄264.4.1在SSMS中刪除記錄注意事項(xiàng):1.記錄刪除之后不能再撤消刪除。2.一次可以刪除多條記錄。3.在選擇記錄后,按Delete鍵也可以進(jìn)行刪除操作。4.如果要?jiǎng)h除的記錄是其他表的外鍵字段,刪除操作可能會(huì)影響外鍵表。274.4.1在SSMS中刪除記錄注意事項(xiàng):274.4.2用DELETE語句刪除記錄語法格式如下:DELETEtable_name[FROM{<table_source>}[,...n]][WHERE{<search_condition>}]<table_source>::=table_name[[AS]table_alias][,...n])]
284.4.2用DELETE語句刪除記錄語法格式如下:284.4.2用DELETE語句刪除記錄
語法注釋:table_name:是要從其中刪除行的表的名稱。FROM<table_source>:指定附加的FROM子句。table_name[[AS]table_alias]:是為刪除操作提供標(biāo)準(zhǔn)的表名。WHERE:指定用于限制刪除行數(shù)的條件。如果沒有提供WHERE子句,則DELETE刪除表中的所有行。<search_condition>:指定刪除行的限定條件。對(duì)搜索條件中可以包含的謂詞數(shù)量沒有限制。
294.4.2用DELETE語句刪除記錄語法注釋:294.4.2用DELETE語句刪除記錄[示范案例8]將“Northwind”數(shù)據(jù)庫(kù)“OrderDetails”表中“OrderID”字段值為10251的記錄刪除。程序清單如下:
DELETE[orderdetails]WHEREorderid=10251304.4.2用DELETE語句刪除記錄[示范案例8]304.4.2用DELETE語句刪除記錄[示范案例9]在“Northwind”數(shù)據(jù)庫(kù)中刪除雇員“Nancy”的所有訂單。在該例中刪除的數(shù)據(jù)引用的是雇員表中的數(shù)據(jù)。程序清單如下:
select*fromorderswhereemployeeid=1
DELETEordersFROMemployeesWHEREemployees.employeeid=orders.employeeidANDemployees.firstname='Nancy'314.4.2用DELETE語句刪除記錄[示范案例9]314.4.3用TRUNCATETABLE語句刪除記錄基本語法格式:TRUNCATETABLEtable_name功能:刪除表中的所有記錄語法注釋:TRUNCATETABLE:為關(guān)鍵字
table_name:為要?jiǎng)h除所用記錄的表名。324.4.3用TRUNCATETABLE語句刪除記錄基本語4.4.3用TRUNCATETABLE語句刪除記錄TRUNCATE與DELETE比較:比DELETE快,不記錄日志的操作,它將釋放表的數(shù)據(jù)和索引所占據(jù)的所有空間及所有為全部索引分配的頁,刪除的數(shù)據(jù)是不可恢復(fù)的。334.4.3用TRUNCATETABLE語句刪除記錄TR4.4.3用TRUNCATETABLE語句刪除記錄[示范案例10]刪除學(xué)生信息管理數(shù)據(jù)庫(kù)student中教師表teachers中的所有記錄
。程序清單如下:DELETEteachers或TRUNCATETABLEteachers344.4.3用TRUNCATETABLE語句刪除記錄[示范第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句4.3UPDATE語句4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
35第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.5簡(jiǎn)單查詢
4.5.1選擇表中的若干列
4.5.2選擇表中的若干記錄
4.5.3對(duì)查詢的結(jié)果排序
364.5簡(jiǎn)單查詢4.5.1選擇表中的若干列364.5簡(jiǎn)單查詢基本語法格式:SELECT[DISTINCT|TOPn[PERCENT][WITHTIES]]select_list
FROMtable_list[WHEREsearch_conditions]
[ORDERBYorder_list[ASC|DESC]]
374.5簡(jiǎn)單查詢基本語法格式:374.5簡(jiǎn)單查詢注釋說明:SELECT子句用于指定所選擇的要查詢的特定表中的列,它可以是星號(hào)(*)、表達(dá)式、列表、變量等。FROM子句用于指定要查詢的表或者視圖,最多可以指定16個(gè)表或者視圖,用逗號(hào)相互隔開。WHERE子句用來限定查詢的范圍和條件。ORDERBY用于指定排序方式。DISTINCT用于消除結(jié)果集中的重復(fù)值。TOPn[PERCENT]用于顯示前n條或n%條的記錄信息.WITHTIES用于在結(jié)果集中包含附加記錄,在使用ORDER
BY子句時(shí),當(dāng)出現(xiàn)兩個(gè)或多個(gè)記錄和最后一條記錄的值相等時(shí),這些附加記錄也將出現(xiàn)在結(jié)果集中。384.5簡(jiǎn)單查詢注釋說明:384.5.1選擇表中的若干列1.查詢表中的所有列[示范案例11]
查詢“Northwind”數(shù)據(jù)庫(kù)中Categories表中的所有記錄
。程序清單如下:USEnorthwindGOSELECT*FROMcategoriesGO
394.5.1選擇表中的若干列1.查詢表中的所有列394.5.1選擇表中的若干列2.查詢表中部分列
[示范案例12]查詢“Northwind”數(shù)據(jù)庫(kù)中“Categories”表中的“categoryname”和“description”字段
。程序清單如下:
USEnorthwindGOSELECTcategoryname,DescriptionFROMcategoriesGO404.5.1選擇表中的若干列2.查詢表中部分列404.5.1選擇表中的若干列3.為結(jié)果集內(nèi)的列指定別名格式:表達(dá)式AS別名由于計(jì)算列不是數(shù)據(jù)表中的列,所以用到了“AS”關(guān)鍵字來指定列的別名。即使要查詢的列是數(shù)據(jù)表中真實(shí)存在的列,也可以用“AS”來指定別名。關(guān)鍵字AS可以省略。414.5.1選擇表中的若干列3.為結(jié)果集內(nèi)的列指定別名414.5.1選擇表中的若干列[示范案例13]查詢“Northwind”數(shù)據(jù)庫(kù)中“OrderDetails”表中每個(gè)訂單的總價(jià)
。程序清單如下:USEnorthwindGOSELECTorderid,productid,unitprice,quantity,discount,unitprice*(1-discount)*quantityASzongjiaFROM[orderdetails]GO
424.5.1選擇表中的若干列[示范案例13]424.5.2選擇表中的若干記錄1.查看不重復(fù)記錄—DISTINCT例如,在“Northwind”數(shù)據(jù)庫(kù)中要查看貨物在哪些城市里有過銷售記錄。在訂購(gòu)表“Orders”中有一個(gè)字段是“ShipCity”,通過查詢這個(gè)字段,就可以了解貨物曾經(jīng)銷往過哪些城市。如果程序代碼如下:
SELECTshipcityFROMorders
或SELECTALLshipcityFROMorders434.5.2選擇表中的若干記錄1.查看不重復(fù)記錄—DISTI4.5.2選擇表中的若干記錄如果要顯示不重復(fù)的記錄的話,可以使用如下代碼:SELECTDISTINCTshipcityFROMordersDistinct關(guān)鍵字可以同時(shí)指定多個(gè)字段,例如同時(shí)指定兩個(gè)字段的話,那么查詢的結(jié)果是兩個(gè)字段同時(shí)不重復(fù)的記錄,如以下代碼:SELECTDISTINCTshipname,shipcityFROMorders444.5.2選擇表中的若干記錄如果要顯示不重復(fù)的記錄的話,可4.5.2選擇表中的若干記錄[示范案例14]在“northwind”數(shù)據(jù)庫(kù)中“suppliers”表中檢索所有行,但每個(gè)國(guó)家“Country”只顯示一次。程序清單如下:USEnorthwindGOSELECTDISTINCTcountryFROMsuppliersGO
454.5.2選擇表中的若干記錄[示范案例14]454.5.2選擇表中的若干記錄2.查看滿足條件記錄—WHERE
如果只希望得到表中滿足特定條件的一些記錄,用戶可以在查詢語句中使用WHERE子句。464.5.2選擇表中的若干記錄2.查看滿足條件記錄—WHER4.5.2選擇表中的若干記錄常用的查詢條件:查詢條件運(yùn)算符意義比較=,>,<,>=-,<=,!=,<>,!>,!<;NOT+上述運(yùn)算符比較大小確定范圍BETWEENAND,NOTBETWEENAND判斷值是否在范圍內(nèi)確定集合IN,NOTIN判斷值是否為列表中的值字符匹配LIKE,NOTLIKE判斷值是否與指定的字符通配格式相符空值ISNULL,ISNOTNULL判斷值是否為空多重條件AND,OR,NOT用于多重條件判斷474.5.2選擇表中的若干記錄常用的查詢條件:查詢條件運(yùn)算(1)比較大小
[示范案例15]查詢“Northwind”數(shù)據(jù)庫(kù)中“Products”表中庫(kù)存量unitinstock不為零的產(chǎn)品
。程序清單如下:USEnorthwindGOSELECT*FROMproductsWHEREunitsinstock<>0
GO
4.5.2選擇表中的若干記錄48(1)比較大小4.5.2選擇表中的若干記錄48(2)確定范圍[示范案例16]在“Northwind”數(shù)據(jù)庫(kù)中“products”表中檢索“unitprice”在$10.00到$20.00之間的所有產(chǎn)品的產(chǎn)品名稱和單價(jià)
。程序清單如下:SELECT*FROMproductsWHEREunitpriceBETWEEN10AND20GO
4.5.2選擇表中的若干記錄49(2)確定范圍4.5.2選擇表中的若干記錄49(3)確定集合IN[示范案例17]在“northwind”數(shù)據(jù)庫(kù)中“suppliers”表中檢索坐落在日本或意大利的公司列表
。程序清單如下:SELECT*FROMsuppliersWHEREcountryIN('Japan','Italy')4.5.2選擇表中的若干記錄50(3)確定集合IN4.5.2選擇表中的若干記錄504.5.2選擇表中的若干記錄(4)模糊查詢—通配符:語法格式:
[not]like‘<匹配串>’[ESCAPE‘<換碼字符>’]%:代表任意長(zhǎng)度的字符串(長(zhǎng)度可為0)的字符串。_:代表任意單個(gè)字符。[]:表示和方括號(hào)中列出的任意一個(gè)字符相匹配。[^]:表示不在方括號(hào)中列出的任意一個(gè)字符。%[_]%:特殊字符的處理用【】匹配。514.5.2選擇表中的若干記錄(4)模糊查詢—通配符:514.5.2選擇表中的若干記錄字符匹配[示范案例18]在“northwind”數(shù)據(jù)庫(kù)“customers”表中檢索公司名稱中包含字符串“restaurant”公司名稱。程序清單如下:SELECT*FROMcustomersWHEREcompanynameLIKE'%restaurant%'524.5.2選擇表中的若干記錄字符匹配524.5.2選擇表中的若干記錄轉(zhuǎn)義字符的使用:[示范案例19]在“northwind”數(shù)據(jù)庫(kù)的類別“categories”表查詢類別名稱categoryName中包含下劃線’_’的所有的類別記錄信息
。程序清單如下:
SELECT*FROMcategoriesWHEREcategorynameLIKE'%_%'
534.5.2選擇表中的若干記錄轉(zhuǎn)義字符的使用:534.5.2選擇表中的若干記錄(5)涉及空值(非空值)查詢
列表達(dá)式is[not]null[示范案例20]在“northwind”數(shù)據(jù)庫(kù)“Customers”表中查看區(qū)域?yàn)榭罩档念櫩托畔?/p>
。程序清單如下:SELECT*FROMcustomersWHEREregionISNULL544.5.2選擇表中的若干記錄(5)涉及空值(非空值)查詢54.5.2選擇表中的若干記錄(6)多重條件查詢[示范案例21]在“northwind”數(shù)據(jù)庫(kù)“products”表中檢索產(chǎn)品名稱“productname”以字母T開頭或產(chǎn)品標(biāo)識(shí)為46,并且單價(jià)大于$16.00
。程序清單如下:SELECT*FROMproductsWHERE(productnameLIKE't%'ORproductid=46)ANDunitprice>16554.5.2選擇表中的若干記錄(6)多重條件查詢554.5.2選擇表中的若干記錄3.限制返回行數(shù)—TOPTOPn
[PERCENT][WITHTIES][示范案例22]在“Northwind”數(shù)據(jù)庫(kù)“orderdetails”訂單明細(xì)表中查看訂購(gòu)數(shù)量最多的五條訂單
。程序清單如下:SELECTTOP5*FROM[orderdetails]ORDERBYquantityDESC564.5.2選擇表中的若干記錄3.限制返回行數(shù)—TOP564.5.3對(duì)查詢的結(jié)果排序用戶可以使用ORDERBY子句對(duì)查詢結(jié)果按照一個(gè)或多個(gè)屬性列的升序(ASC)或降序(DESC)排列,默認(rèn)為升序。如果不使用ORDERBY子句,則結(jié)果集按照記錄在表中的順序排列。基本語法格式:ORDERBY列名[,列名]DESC|ASC
574.5.3對(duì)查詢的結(jié)果排序用戶可以使用ORDER4.5.3對(duì)查詢的結(jié)果排序[示范案例23]在“Northwind”數(shù)據(jù)庫(kù)“products”產(chǎn)品表中查看所有產(chǎn)品記錄,并以產(chǎn)品名排序。程序清單如下:SELECT*FROMproductsORDERBYproductname584.5.3對(duì)查詢的結(jié)果排序[示范案例23]584.5.3對(duì)查詢的結(jié)果排序當(dāng)按多列排序時(shí),先按前面的列排序,如果值相同再按后面的列排序。[示范案例24]在“Northwind”數(shù)據(jù)庫(kù)“products”產(chǎn)品表中查看所有產(chǎn)品記錄,并以供應(yīng)商編號(hào)和產(chǎn)品名排序。程序清單如下:
SELECT*FROMproductsORDERBYsupplierid,productname
594.5.3對(duì)查詢的結(jié)果排序當(dāng)按多列排序時(shí),先按前面第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句4.3UPDATE語句4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
60第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.6數(shù)據(jù)統(tǒng)計(jì)查詢4.6.1使用聚合函數(shù)4.6.2對(duì)結(jié)果進(jìn)行分組4.6.3用COMPUTE子句來歸類
614.6數(shù)據(jù)統(tǒng)計(jì)查詢4.6.1使用聚合函數(shù)614.6.1使用聚合函數(shù)SQLServer提供了許多聚合函數(shù),主要有:聚合函數(shù)描述AVG(列名)計(jì)算給定列的平均值COUNT
(列名)計(jì)算表達(dá)式中值的數(shù)目COUNT
(*)計(jì)算所選擇的行的數(shù)目MAX
(列名)計(jì)算給定列的中的最大值MIN
(列名)計(jì)算給定列的中最小值SUM(列名)計(jì)算給定列的中所有值的和624.6.1使用聚合函數(shù)SQLServer提供了許多聚合函4.6.1使用聚合函數(shù)
字段的數(shù)據(jù)類型決定了可以用在該字段上的聚合函數(shù)類型。如:SUM和AVG只能用在數(shù)據(jù)類型代表數(shù)字的字段上。634.6.1使用聚合函數(shù)字段的數(shù)據(jù)類型決定了可以用在4.6.1使用聚合函數(shù)[示范案例25]
在“Northwind”數(shù)據(jù)庫(kù)中查詢“employees”表中雇員的數(shù)目
。程序清單如下:
SELECTcount(*)AS雇員數(shù)目
FROMemployees644.6.1使用聚合函數(shù)[示范案例25]644.6.1使用聚合函數(shù)實(shí)驗(yàn)并思考:1)如果本例中將count(*)更改為count(employeeid),其顯示的個(gè)數(shù)為多少?2)如果改為count(city)呢?結(jié)果又如何呢?
654.6.1使用聚合函數(shù)實(shí)驗(yàn)并思考:654.6.1使用聚合函數(shù)對(duì)包含空值的字段使用聚合函數(shù)時(shí),應(yīng)注意SQLServer的聚合函數(shù)(COUNT(*)除外)將忽略字段中的空值。COUNT(*)將計(jì)算所有的行,即使每個(gè)字段都含有空值。664.6.1使用聚合函數(shù)對(duì)包含空值的字段使用聚合函數(shù)時(shí),應(yīng)注4.6.2對(duì)結(jié)果進(jìn)行分組GROUPBY子句將查詢結(jié)果集按某一列或多列值分組,分組列的值相等的為一組,并對(duì)每一組進(jìn)行統(tǒng)計(jì)計(jì)算。對(duì)查詢結(jié)果集分組的目的是為了細(xì)化聚合函數(shù)的作用對(duì)象。
GROUPBY子句的語法格式為:
GROUPBY[ALL]列名[,列名]…[WITH{CUBE|ROLLUP}][HAVING篩選條件表達(dá)式]674.6.2對(duì)結(jié)果進(jìn)行分組GROUPBY子句將查詢4.6.2對(duì)結(jié)果進(jìn)行分組
語法注釋:ALL:用于指定包含所有組和結(jié)果集
。BY列名:是按列名指定的字段進(jìn)行分組
。使用WITHCUBE會(huì)對(duì)GROUPBY所列出的所有分組字段進(jìn)行匯總運(yùn)算
。使用WITHROLLUP會(huì)對(duì)GROUPBY所列出的第一個(gè)分組字段進(jìn)行匯總運(yùn)算
。HAVING篩選條件表達(dá)式:表示對(duì)生成的組篩選后再對(duì)滿足條件的組進(jìn)行統(tǒng)計(jì)
。
684.6.2對(duì)結(jié)果進(jìn)行分組語法注釋:68USEnorthwindSELECTproductid,orderid
,quantityFROM[orderdetails]
GOproductidorderidquantity11511102110222531153230productidtotal_quantity235只對(duì)滿足
WHERE
子句的行分組productidtotal_quantity115235345USEnorthwindSELECTproductid,SUM(quantity)AStotal_quantityFROM[orderdetails]GROUPBYproductid
GO示例
1USEnorthwindSELECTproductid,SUM(quantity)AStotal_quantityFROM[orderdetails]
WHEREproductid=2GROUPBYproductid
GO示例24.6.2對(duì)結(jié)果進(jìn)行分組69USEnorthwindproductidorderidq4.6.2對(duì)結(jié)果進(jìn)行分組[示范案例26]統(tǒng)計(jì)“northwind”數(shù)據(jù)庫(kù)“orders”表中每個(gè)城市的訂單總數(shù)。程序清單如下:
SELECTshipcity,count(orderid)AS訂單總數(shù)
FROMordersGROUPBYshipcity704.6.2對(duì)結(jié)果進(jìn)行分組[示范案例26]704.6.2對(duì)結(jié)果進(jìn)行分組使用GROUPBY子句時(shí),應(yīng)注意SQLServer將為每一組計(jì)算一個(gè)匯總值,并把匯總值保存在一個(gè)字段中。對(duì)于指定的一組,SQLServer只生成一條記錄,不返回詳細(xì)信息。SQLServer只對(duì)滿足WHERE子句的記錄進(jìn)行分組和匯總。不要對(duì)可能包含空值的字段使用GROUPBY子句,因?yàn)榭罩狄矊⒈划?dāng)作一組,而不管記錄是否滿足WHERE子句的條件。714.6.2對(duì)結(jié)果進(jìn)行分組使用GROUPBY子句時(shí),應(yīng)USEnorthwindSELECTproductid,orderid,quantityFROM[orderdetails]
GOproductidorderidquantity11511102110222531153230productidtotal_quantity235345USEnorthwindSELECTproductid,SUM(quantity)AStotal_quantityFROM[orderdetails]GROUPBYproductid
HAVINGSUM(quantity)>=30
GO示例4.6.2對(duì)結(jié)果進(jìn)行分組72USEnorthwindproductidorderidq4.6.2對(duì)結(jié)果進(jìn)行分組[示范案例27]統(tǒng)計(jì)“northwind”數(shù)據(jù)庫(kù)訂購(gòu)“orders”表中訂單總數(shù)超過20的城市,以及這些城市的訂單總數(shù)和總運(yùn)費(fèi)
。程序清單如下:
SELECTshipcity,count(orderid)訂單總數(shù),
sum(freight)運(yùn)貨費(fèi)總數(shù)
FROMordersGROUPBYshipcityHAVINGcount(orderid)>20734.6.2對(duì)結(jié)果進(jìn)行分組[示范案例27]73USEnorthwindSELECTproductid,orderid,quantityFROM[orderdetails]
GOproductidorderidquantity11511102110222531153230USEnorthwindSELECTproductid,orderid,SUM(quantity)AStotal_quantityFROM[orderdetails]
GROUPBYproductid,orderidGO示例
4.6.2對(duì)結(jié)果進(jìn)行分組productidorderidquantity1115211022253115323074USEnorthwindproductidorderidq4.6.2對(duì)結(jié)果進(jìn)行分組[示范案例28]在“northwind”數(shù)據(jù)庫(kù)訂購(gòu)“orders”表中按年份統(tǒng)計(jì)每個(gè)城市的訂單總數(shù)
。程序清單如下:
SELECTshipcity,count(orderid)訂單總數(shù),year(orderdate)AS訂購(gòu)年份FROMordersGROUPBYshipcity,year(orderdate)ORDERBYshipcity,year(orderdate)754.6.2對(duì)結(jié)果進(jìn)行分組[示范案例28]754.6.2對(duì)結(jié)果進(jìn)行分組CUBE操作符比ROLLUP操作符多產(chǎn)生兩個(gè)匯總值總數(shù)對(duì)
orderid1中的所有行匯總對(duì)
orderid2中的所有行匯總只對(duì)productid1中的行匯總productid1、orderid1的具體值productid1、orderid2的具體值只對(duì)
productid2中的行匯總productid2、orderid1的具體值productid2、orderid2的具體值只對(duì)
productid3中的行匯總productid3、orderid1的具體值productid3、orderid2的具體值productidorderidtotal_quantityNULLNULL95NULL130NULL2651NULL1511512102NULL35211022253NULL4531153230描述USEnorthwindSELECTproductid,orderid,SUM(quantity)AStotal_quantityFROM[orderdetails]GROUPBYproductid,orderid
WITHCUBE
ORDERBYproductid,orderid
GO示例764.6.2對(duì)結(jié)果進(jìn)行分組CUBE操作符比總數(shù)對(duì)orde4.6.2對(duì)結(jié)果進(jìn)行分組[示范案例29]統(tǒng)計(jì)“Northwind”數(shù)據(jù)庫(kù)“orders”表中每個(gè)城市的訂單總數(shù),并進(jìn)行匯總。程序清單如下:SELECTshipcity,count(orderid)AS訂單總數(shù)FROMordersGROUPBYshipcityWITHCUBE774.6.2對(duì)結(jié)果進(jìn)行分組[示范案例29]774.6.2對(duì)結(jié)果進(jìn)行分組聯(lián)合使用GROUPBY子句和CUBE操作符,能生成基于GROUPBY子句指定的所有字段的可能組合使用GROUPBY子句和CUBE操作符時(shí),應(yīng)注意如果在GROUPBY子句中有
n
個(gè)字段或表達(dá)式,SQLServer將在結(jié)果集中返回2n
種可能的組合。結(jié)果集中含有NULL的記錄代表該記錄由CUBE操作符生成。784.6.2對(duì)結(jié)果進(jìn)行分組聯(lián)合使用GROUPBY子句和4.6.2對(duì)結(jié)果進(jìn)行分組描述USEnorthwindSELECTproductid,orderid,SUM(quantity)AStotal_quantityFROM[orderdetails]GROUPBYproductid,orderid
WITHROLLUPORDERBYproductid,orderid
GO示例productidorderidtotal_quantityNULLNULL951NULL1511512102NULL35211022253NULL4531153230總數(shù)只對(duì)productid1中的行匯總productid1、orderid1的具體值productid1、orderid2的具體值只對(duì)
productid2中的行匯總productid2、orderid1的具體值productid2、orderid2的具體值只對(duì)
productid3中的行匯總productid3、orderid1的具體值productid3、orderid2的具體值794.6.2對(duì)結(jié)果進(jìn)行分組描述USEnorthwind示例4.6.2對(duì)結(jié)果進(jìn)行分組[示范案例30]在“Northwind”數(shù)據(jù)庫(kù)“orders”表中按年份統(tǒng)計(jì)每個(gè)城市的訂單總數(shù),并按城市進(jìn)行匯總。程序清單如下:
SELECTshipcity,year(orderdate)AS訂購(gòu)年份,
count(orderid)AS訂單總數(shù)
FROMordersGROUPBYshipcity,year(orderdate)WITHROLLUP
804.6.2對(duì)結(jié)果進(jìn)行分組[示范案例30]804.6.2對(duì)結(jié)果進(jìn)行分組聯(lián)合使用GROUPBY子句和ROLLUP操作符,計(jì)算組中的匯總值使用GROUPBY子句和ROLLUP操作符時(shí),應(yīng)注意SQLServer處理GROUPBY中字段列表的順序是從右到左,然后對(duì)每個(gè)組使用聚合函數(shù)。SQLServer將在結(jié)果集中增加一行,這行將顯示總和或平均值之類的匯總值,新增的行以NULL標(biāo)識(shí)。814.6.2對(duì)結(jié)果進(jìn)行分組聯(lián)合使用GROUPBY子句和4.6.3用COMPUTE子句來歸類COMPUTE子句對(duì)查詢結(jié)果集中的所有記錄進(jìn)行匯總統(tǒng)計(jì),并顯示所有參加匯總記錄的詳細(xì)信息。當(dāng)與by一起使用時(shí),COMPUTE子句在結(jié)果集內(nèi)生成控制中斷和小計(jì)??稍谕徊樵儍?nèi)指定COMPUTE
BY和COMPUTE。使用語法格式為:COMPUTE聚合函數(shù)(列名)[BY列名]824.6.3用COMPUTE子句來歸類COMPUT4.6.3用COMPUTE子句來歸類注釋說明:聚合函數(shù)(列名):例如SUM(),AVG(),COUNT()等。此處的列名用于指明要用來匯總函數(shù)處理的字段或表達(dá)式,在此不能用字段別名,并且必須是SELECT子句列表中的一項(xiàng)
。BY列名:按指定列名的字段進(jìn)行分組計(jì)算,并顯示被統(tǒng)計(jì)記錄的詳細(xì)信息
。BY選項(xiàng)必須與ORDERBY子句一起使用
。834.6.3用COMPUTE子句來歸類注釋說明:834.6.3用COMPUTE子句來歸類USEnorthwindSELECTproductid,orderid,quantityFROM[orderdetails]COMPUTESUM(quantity)
GOCOMPUTE示例
1USEnorthwindSELECTproductid,orderid
,quantityFROM[orderdetails]
GOproductidorderidquantity11511102110222531153230productidorderidquantity11512102110222531153230sum95844.6.3用COMPUTE子句來歸類USEnorthwi4.6.3用COMPUTE子句來歸類[示范案例31]統(tǒng)計(jì)“northwind”數(shù)據(jù)庫(kù)“orders”表中還沒有發(fā)貨的訂單,以及運(yùn)費(fèi)的總數(shù)。程序清單如下:
SELECTorderid,shipcity,freightFROMordersWHEREshippeddateISNULLCOMPUTEsum(freight)854.6.3用COMPUTE子句來歸類[示范案例31]854.6.3用COMPUTE子句來歸類COMPUTEBYUSEnorthwindSELECTproductid,orderid,quantityFROM[orderdetails]
ORDERBYproductid,orderidCOMPUTESUM(quantity)BYproductid
COMPUTESUM(quantity)
GO示例
2USEnorthwindSELECTproductid,orderid
,quantityFROM[orderdetails]
GOproductidorderidquantity11511102110222531153230productidorderidquantity1151110sum1521102225sum3531153230sum45sum95864.6.3用COMPUTE子句來歸類COMPUTEBYU4.6.3用COMPUTE子句來歸類[示范案例32]在“northwind”數(shù)據(jù)庫(kù)“orders”表中按城市統(tǒng)計(jì)還沒有發(fā)貨的訂單,以及運(yùn)費(fèi)的總數(shù)。
程序清單如下:
SELECTorderid,shipcity,freightFROMordersWHEREshippeddateISNULLORDERBYshipcityDESCCOMPUTEsum(freight)BYshipcity874.6.3用COMPUTE子句來歸類[示范案例32]874.6.3用COMPUTE子句來歸類使用COMPUTE子句的注意事項(xiàng)和原則COMPUTE子句中聚合函數(shù)使用的字段必須在SELECT語句的選擇列表中出現(xiàn)。應(yīng)當(dāng)同時(shí)使用ORDERBY子句和COMPUTEBY子句,這樣記錄就會(huì)被分組顯示。且ORDERBY子句必須出現(xiàn)在COMPUTEBY子句前,其使用字段必須順序相同。不能同時(shí)使用SELECTINTO和COMPUTE,因?yàn)镃OMPUTE不會(huì)生成關(guān)系型的輸出結(jié)果。884.6.3用COMPUTE子句來歸類使用COMPUTE子幾種分組語句的區(qū)別GROUPBY和HAVING子句只能提供一種級(jí)別的匯總(或分組),并不顯示詳細(xì)記錄信息。GROUPBY和ROLLUP運(yùn)算符可以提供一種類型的匯總,能夠顯示詳細(xì)記錄,并在結(jié)果集中生成匯總值,并提供標(biāo)準(zhǔn)的關(guān)系型格式的數(shù)據(jù)。GROUPBY和CUBE運(yùn)算符可以提供多種類型的匯總,能夠顯示詳細(xì)記錄,并在結(jié)果集中生成匯總值,并提供標(biāo)準(zhǔn)的關(guān)系型格式的數(shù)據(jù)。COMPUTE或COMPUTEBY子句能夠顯示詳細(xì)記錄,所產(chǎn)生的額外數(shù)據(jù)匯總行屬于非標(biāo)準(zhǔn)的非關(guān)系型格式。89幾種分組語句的區(qū)別GROUPBY和HAVING子句只能提供小結(jié)[掌握]1、使用SSMS錄入、修改、刪除數(shù)據(jù)表中的數(shù)據(jù)
2、使用T-SQL語句錄入、修改、刪除數(shù)據(jù)表中的數(shù)據(jù)
3、掌握對(duì)數(shù)據(jù)的簡(jiǎn)單查詢4、掌握對(duì)數(shù)據(jù)的分組統(tǒng)計(jì)[了解]1、了解DELETE和TRUNCAT刪除表的不同之處2、了解COMPUTE及COMPUTEBY子句90小結(jié)[掌握]90第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句4.3UPDATE語句4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
91第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.1在SQLServerManagementStudio中查看記錄4.1.1打開表4.1.2快速定位記錄4.1.3返回前幾條記錄924.1在SQLServerManagementStu4.1.1打開表例:在SQLserverManagementStudio中打開“Northwind”數(shù)據(jù)庫(kù)中的“products”表。1.啟動(dòng)【SQLserverManagementStudio】,在【對(duì)象資源管理器】中展開樹形目錄,定位到【products】表。2.右擊【products】表,在彈出的快捷菜單中選擇【打開表】選項(xiàng)。3.此時(shí)已經(jīng)將【products】表打開了,右邊對(duì)話框顯示的是【products】表里的記錄內(nèi)容,該表格對(duì)話框名為【結(jié)果窗格】。934.1.1打開表例:在SQLserverManagem4.1.2快速定位記錄在【結(jié)果窗格】的最下方,可以快速定位到上一條、下一條記錄,也可以直接跳到第一條、最后一條記錄。如果要想跳到某一條記錄的話,在文本框內(nèi)輸入數(shù)字,再按回車鍵。
944.1.2快速定位記錄在【結(jié)果窗格】的最下方,可以4.1.3返回前幾條記錄1.在打開表之后,調(diào)出【屬性】對(duì)話框。調(diào)出方法為:?jiǎn)螕舨藛螜谥械摹疽晥D】|【屬性窗口】選項(xiàng)。在【屬性】對(duì)話框里,展開【TOP規(guī)范】選項(xiàng),在【(最前面)】下拉列表框里選擇【是】選項(xiàng),在【percent】下拉列表框里選擇【否】選項(xiàng),在【表達(dá)式】文本框里輸入數(shù)字“10”。2.選擇【結(jié)果窗格】,然后再單擊【運(yùn)行SQL】按鈕。在【結(jié)果窗格】里只顯示前十條記錄。954.1.3返回前幾條記錄1.在打開表之后,調(diào)出【屬性】對(duì)話第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句
4.3UPDATE語句4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
96第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.2INSERT語句4.2.1在SSMS中插入記錄4.2.2用INSERT語句記錄974.2INSERT語句4.2.1在SSMS中插入記錄74.2.1在SSMS中插入記錄注意事項(xiàng):1.標(biāo)識(shí)列、計(jì)算列的字段不能輸入字段內(nèi)容。2.不能為NULL值的字段必須輸入字段內(nèi)容。3.輸入字段內(nèi)容的數(shù)據(jù)類型要和字段定義的數(shù)據(jù)類型一致。4.如果字段上有約束,一定要符合約束要求。5.如果要讓字段輸入默認(rèn)值,則不用在字段內(nèi)輸入任何數(shù)據(jù),在保存記錄時(shí),SQLserver會(huì)自動(dòng)填入默認(rèn)值,但前提是該字段設(shè)置有默認(rèn)值。
984.2.1在SSMS中插入記錄注意事項(xiàng):84.2.2用INSERT語句記錄語法格式如下:INSERT[INTO]
table_name
{[(column_list)]{VALUES({expression}[,...n])}}994.2.2用INSERT語句記錄語法格式如下:94.2.2用INSERT語句記錄語法注釋:
[INTO]:一個(gè)可選的關(guān)鍵字,可以將它用在INSERT和目標(biāo)表之間。table_name:將要接收數(shù)據(jù)的表或table變量的名稱。
(column_list):要在其中插入數(shù)據(jù)的一列或多列的列表。必須用圓括號(hào)將column_list括起來,并且用逗號(hào)進(jìn)行分隔。VALUES:引入要插入的數(shù)據(jù)值的列表。對(duì)于column_list(如果已指定)中或者表中的每個(gè)列,都必須有一個(gè)數(shù)據(jù)值。必須用圓括號(hào)將值列表括起來。如果VALUES列表中的值與表中列的順序不相同,或者未包含表中所有列的值,那么必須使用column_list明確地指定存儲(chǔ)每個(gè)傳入值的列。1004.2.2用INSERT語句記錄語法注釋:104.2.2用INSERT語句記錄1.最簡(jiǎn)單的INSERT語句
[示范案例1]
在“Northwind”數(shù)據(jù)庫(kù)的“OrderDetails”表里插入一條記錄,其中“OrderID”字段的值為10248;“ProductID”字段的值為1;“UnitPrice”字段的值為10;“Quantity”字段的值為2;“Discount”字段的值為0.8。程序清單如下:INSERT[orderdetails](orderid,productid,unitprice,quantity,discount)VALUES(10248,1,10,2,0.8)1014.2.2用INSERT語句記錄1.最簡(jiǎn)單的INSERT4.2.2用INSERT語句記錄2.省略清單的INSERT語句[示范案例2]
在上例中省略字段清單,程序清單如下:INSERT[orderdetails]VALUES(10249,2,10,2,0.9)1024.2.2用INSERT語句記錄2.省略清單的INSERT4.2.2用INSERT語句記錄3.標(biāo)識(shí)列、允許為空字段的處理[示范案例3]
在“Northwind”數(shù)據(jù)庫(kù)的“Categories”表里插入一條記錄,其中“CategoryName”字段的值為“圖書”;“Description”字段的值為“所有類型的圖書”。程序清單如下:INSERTINTOcategories(categoryname,description)VALUES('圖書','所有類型的圖書')1034.2.2用INSERT語句記錄3.標(biāo)識(shí)列、允許為空字段的4.2.2用INSERT語句記錄4.有默認(rèn)值字段的處理[示范案例4]
在“學(xué)生”數(shù)據(jù)庫(kù)中創(chuàng)建“教師”表(性別為有默認(rèn)值列)
。在該表中錄入數(shù)據(jù)。程序清單如下:INSERTINTOteachers(teach_id,teach_name,tsex,tdegree)VALUES('rj001','李波',DEFAULT,'本科')1044.2.2用INSERT語句記錄4.有默認(rèn)值字段的處理144.2.2用INSERT語句記錄5.省略VALUES清單的INSERT語句
在T-SQL中,有一種簡(jiǎn)單的插入多行的方法。這種方法是使用SELECT語句查詢出的結(jié)果代替VALUES子句。這種方法的語法結(jié)構(gòu)如下:
INSERT[INTO]table_name(column_name1[,column_name2,…column_namen])
SELECTcolumn_name[,…n]
FROMtable_name
WHEREsearch_conditions1054.2.2用INSERT語句記錄5.省略VALUES清單的4.2.2用INSERT語句記錄[示范案例5]在“Northwind”數(shù)據(jù)庫(kù)中,從“Employees”表里查出“EmployeeID”、“LastName”、“FirstName”、“PostalCode”、“City”、“Address”、“HomePhone”7個(gè)字段,組成一個(gè)“雇員通信錄”表。1064.2.2用INSERT語句記錄[示范案例5]164.2.2用INSERT語句記錄程序清單如下:CREATETABLE雇員通信錄(雇員IDintprimarykey,姓氏nvarchar(20)notnull,名字nvarchar(10)notnull,郵政編碼nvarchar(10)null,城市nvarchar(15)null,地址nvarchar(60)null,家庭電話nvarchar(24)null)GOINSERTINTO雇員通信錄SELECTemployeeid,lastname,firstname,postalcode,city,address,homephoneFROMemployeesGO1074.2.2用INSERT語句記錄程序清單如下:17第四章數(shù)據(jù)操縱語句4.1在SQLServerManagementStudio中查看記錄
4.2INSERT語句4.3UPDATE語句
4.4DELETE語句4.5簡(jiǎn)單查詢4.6數(shù)據(jù)統(tǒng)計(jì)查詢
108第四章數(shù)據(jù)操縱語句4.1在SQLServerMana4.3UPDATE語句4.3.1在SSMS中更新記錄4.3.2用UPDATE語句更新記錄1094.3UPDATE語句4.3.1在SSMS中更新記錄194.3.1在SSMS中更新記錄注意事項(xiàng):1.在修改char和nchar這類長(zhǎng)度固定的字段時(shí),要注意其后的空格。2.在可以為空值NULL的字段中,如果要設(shè)為NULL,可以按Ctrl+0鍵。3.如果將記錄字段內(nèi)容修改過后,又想回到修改前的值,可用將光標(biāo)聚焦到該字段,然后按Esc鍵。4.如果想放棄整條記錄的修改,可以連按兩次Esc鍵。1104.3.1在SSMS中更新記錄注意事項(xiàng):204.3.2用UPDATE語句更新記錄語法格式如下:
UPDATEtable_name
SET{column_name={expression|DEFAULT|NULL}}[,...n][FROM{<table_source>}[,...n]][WHERE<search_condition>]<table_source>::=table_name[[AS]table_alias][WITH(<table_hint>[,...n])]1114.3.2用UPDATE語句更新記錄語法格式如下:214.3.2用UPDATE語句更新記錄語法注釋:table_name:需要更新的表的名稱。SET:指定要更新的列或變量名稱的列表。column_name:含有要更改數(shù)據(jù)的列的名稱。{expression|DEFAULT|NULL}:列值表達(dá)式。
<table_source>:修改數(shù)據(jù)來源表。
1124.3.2用UPDATE語句更新記錄語法注釋:224.3.2用UPDATE語句更新記錄[示范案例6]使用T-SQL語句,將“Northwind”數(shù)據(jù)庫(kù)“Employees”表中“EmployeeID”字段值為1的記錄的“LastName”字段值修改為“bb”。程序清單如下:
UPDATEemployeesSETlastname='bb'WHEREemployeeid=11134.3.2用UPDATE語句更新記錄[示范案例6]234.3.2用UPDATE語句更新記錄[示范案例7]用計(jì)算值來更新記錄,修改“Northwind”數(shù)據(jù)庫(kù)“Products”表中“ProductID”字段值為1的記錄的“UnitPrice”字段的值,使其值在當(dāng)前的基礎(chǔ)上減少5。程序清單如下:
UPDATEproductsSETunitprice=unitprice-5WHEREproductid=11144.3.2用UPDATE語句更新記錄[示范案例7]24第四章數(shù)據(jù)操縱語句4.1在SQLServerMa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度鋁合金門窗工程勞務(wù)分包合同示范文本4篇
- 2025年環(huán)保型環(huán)衛(wèi)車輛及設(shè)備采購(gòu)合同3篇
- 2025年度苗圃技術(shù)員苗木市場(chǎng)分析與營(yíng)銷服務(wù)合同3篇
- 2025年度數(shù)字經(jīng)濟(jì)園區(qū)承包經(jīng)營(yíng)合同示范文本4篇
- 商業(yè)安全生產(chǎn)的文化塑造與實(shí)踐
- 2025版新能源發(fā)電項(xiàng)目工程監(jiān)理合同4篇
- 2025版五金配件進(jìn)出口貿(mào)易合同樣本3篇
- 二零二五年度酒店餐飲服務(wù)合同范本
- 2025年智能櫥柜研發(fā)與制造合作協(xié)議4篇
- 2025年度酒吧吧臺(tái)承包與酒吧市場(chǎng)調(diào)研與分析合同4篇
- 2024年萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 2024年高考數(shù)學(xué)(理)試卷(全國(guó)甲卷)(空白卷)
- DB32-T 4444-2023 單位消防安全管理規(guī)范
- 臨床三基考試題庫(kù)(附答案)
- 人員密集場(chǎng)所消防安全管理培訓(xùn)
- JCT587-2012 玻璃纖維纏繞增強(qiáng)熱固性樹脂耐腐蝕立式貯罐
- 典范英語2b課文電子書
- 員工信息登記表(標(biāo)準(zhǔn)版)
- 春節(jié)工地停工復(fù)工計(jì)劃安排( 共10篇)
- 新教材人教版高中物理選擇性必修第二冊(cè)全冊(cè)各章節(jié)課時(shí)練習(xí)題及章末測(cè)驗(yàn)含答案解析(安培力洛倫茲力電磁感應(yīng)交變電流等)
- 中考數(shù)學(xué)試題(含答案)共12套
評(píng)論
0/150
提交評(píng)論