管理表中的數(shù)據(jù)_第1頁
管理表中的數(shù)據(jù)_第2頁
管理表中的數(shù)據(jù)_第3頁
免費預(yù)覽已結(jié)束,剩余77頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 管理表中的數(shù)據(jù)管理表中的數(shù)據(jù) Copyright2007-2021 創(chuàng)智新程Copyright 2007 創(chuàng)智新程本課教學內(nèi)容本課教學內(nèi)容y創(chuàng)立規(guī)那么創(chuàng)立規(guī)那么y創(chuàng)立缺省創(chuàng)立缺省y管理表中的數(shù)據(jù)管理表中的數(shù)據(jù) y插入數(shù)據(jù)插入數(shù)據(jù) y更新數(shù)據(jù)更新數(shù)據(jù) y刪除數(shù)據(jù)刪除數(shù)據(jù) y將表中的數(shù)據(jù)存儲到新表將表中的數(shù)據(jù)存儲到新表y清空表中數(shù)據(jù)清空表中數(shù)據(jù)Copyright 2007 創(chuàng)智新程創(chuàng)立規(guī)那么創(chuàng)立規(guī)那么y創(chuàng)立規(guī)那么創(chuàng)立規(guī)那么y任務(wù)任務(wù)y解題步驟解題步驟y課堂練習課堂練習Copyright 2007 創(chuàng)智新程任務(wù)一任務(wù)一yFOX公司需要對市場進行調(diào)查,要構(gòu)造一個樣本客戶公司需要對市場進行調(diào)查,要構(gòu)造

2、一個樣本客戶表,限定樣本空間的大小不能超過表,限定樣本空間的大小不能超過10000。y表表SAMPLE_CUSTOMER已經(jīng)建立了,要求不改變已經(jīng)建立了,要求不改變表結(jié)構(gòu)的前提下,可以實現(xiàn)自動對樣本空間的限制表結(jié)構(gòu)的前提下,可以實現(xiàn)自動對樣本空間的限制 。表的結(jié)構(gòu)如下:。表的結(jié)構(gòu)如下: Copyright 2007 創(chuàng)智新程任務(wù)任務(wù)yCREATE TABLE Sample_Customer( CustomerID INT PRIMARY KEY, CustomerName CHAR(50), CustomerAddress CHAR(50), CustomerCreditLimit MONEY

3、) Copyright 2007 創(chuàng)智新程解題步驟解題步驟y步驟步驟1 1:確定使用什么方法完成任務(wù)。:確定使用什么方法完成任務(wù)。y步驟步驟2 2:確定編寫規(guī)那么的語句。:確定編寫規(guī)那么的語句。y步驟步驟3 3:創(chuàng)立規(guī)那么。:創(chuàng)立規(guī)那么。y步驟步驟4 4:將規(guī)那么綁定到列。:將規(guī)那么綁定到列。y步驟步驟5 5:驗證規(guī)那么是否生效。:驗證規(guī)那么是否生效。Copyright 2007 創(chuàng)智新程步驟步驟1 1 y利用前述的利用前述的CHECK約束可以輕松實現(xiàn)上述任務(wù),但約束可以輕松實現(xiàn)上述任務(wù),但是,是,CHECK約束需要修改表的結(jié)構(gòu)。約束需要修改表的結(jié)構(gòu)。y而規(guī)那么是一個向后兼容的功能,用于執(zhí)行一

4、些與而規(guī)那么是一個向后兼容的功能,用于執(zhí)行一些與 CHECK 約束相同的功能。約束相同的功能。CHECK 約束是用來限制約束是用來限制列值的首選標準方法。列值的首選標準方法。yCHECK 約束比規(guī)那么簡明,一個列只能應(yīng)用一個規(guī)約束比規(guī)那么簡明,一個列只能應(yīng)用一個規(guī)那么,但是可以應(yīng)用多個那么,但是可以應(yīng)用多個CHECK 約束。約束。Copyright 2007 創(chuàng)智新程步驟步驟1 1y所以,在不改變表結(jié)構(gòu)的前提下,使用規(guī)那么來實施所以,在不改變表結(jié)構(gòu)的前提下,使用規(guī)那么來實施上述任務(wù)。上述任務(wù)。Copyright 2007 創(chuàng)智新程步驟步驟2 2 y創(chuàng)立稱為規(guī)那么的對象的語法如下:創(chuàng)立稱為規(guī)那么

5、的對象的語法如下: yCREATE RULE ruleCREATE RULE ruleyAS condition_expressionAS condition_expressionyrulerule是新規(guī)那么的名稱。規(guī)那么名稱必須符合標識符是新規(guī)那么的名稱。規(guī)那么名稱必須符合標識符規(guī)那么??梢赃x擇是否指定規(guī)那么所有者的名稱。規(guī)那么??梢赃x擇是否指定規(guī)那么所有者的名稱。 Copyright 2007 創(chuàng)智新程步驟步驟2 2ycondition_expression 是定義規(guī)那么的條件。是定義規(guī)那么的條件。y規(guī)那么可以是規(guī)那么可以是 WHERE 子句中任何有效的表達式,子句中任何有效的表達式,并且

6、可以包含諸如算術(shù)運算符、關(guān)系運算符和謂詞并且可以包含諸如算術(shù)運算符、關(guān)系運算符和謂詞如如 IN、LIKE、BETWEEN之類的元素。之類的元素。y規(guī)那么不能引用列或其它數(shù)據(jù)庫對象??梢园灰?guī)那么不能引用列或其它數(shù)據(jù)庫對象。可以包含不引用數(shù)據(jù)庫對象的內(nèi)置函數(shù)用數(shù)據(jù)庫對象的內(nèi)置函數(shù). Copyright 2007 創(chuàng)智新程步驟步驟2 2y定義規(guī)那么的條件包含一個變量。每個局部變量的前定義規(guī)那么的條件包含一個變量。每個局部變量的前面都有一個面都有一個 符號。表達式引用通過符號。表達式引用通過UPDATEUPDATE或或INSERT INSERT 語句需要的值。在創(chuàng)立規(guī)那么時,可以使用任何名稱語句

7、需要的值。在創(chuàng)立規(guī)那么時,可以使用任何名稱或符號表示值,但第一個字符必須是或符號表示值,但第一個字符必須是 符號符號y例如例如yCREATE RULE rulZipCodeCREATE RULE rulZipCodeyASASyZipCode LIKE ZipCode LIKE 0-9 0-9 0-90-9 0-9 0-90-90-0-90-90-9-0-90-90-9 90-9-0-90-90-9 Copyright 2007 創(chuàng)智新程步驟步驟3 3 y步驟步驟3 3:創(chuàng)立規(guī)那么:創(chuàng)立規(guī)那么 yCREATE RULE CheckIDCREATE RULE CheckIDyAS AS yID

8、BETWEEN 0 and 10000ID BETWEEN 0 and 10000Copyright 2007 創(chuàng)智新程步驟步驟4 4 y在使用規(guī)那么之前,需要將規(guī)那么綁定到相應(yīng)的列上在使用規(guī)那么之前,需要將規(guī)那么綁定到相應(yīng)的列上。具體的語法如下。具體的語法如下 y sp_bindrule rule_name, object_name, sp_bindrule rule_name, object_name, FUTUREONLY FUTUREONLY y參數(shù)參數(shù) yrule_name rule_name 由由 CREATE RULE CREATE RULE 語句創(chuàng)立的規(guī)那么名稱語句創(chuàng)立的規(guī)那么

9、名稱 yObject_name Object_name 綁定了規(guī)那么的表和列或用戶定義的數(shù)綁定了規(guī)那么的表和列或用戶定義的數(shù)據(jù)類型。用戶定義的數(shù)據(jù)類型由據(jù)類型。用戶定義的數(shù)據(jù)類型由sp_addtypesp_addtype來定義的來定義的Copyright 2007 創(chuàng)智新程步驟步驟4 40FUTUREONLY 只對約束到用戶自定義數(shù)據(jù)類型的規(guī)那么才使用 0將規(guī)那么CheckID綁定到CustomerID列上的命令如下0 sp_bindrule CheckID,Sample_Customer.CustomerID Copyright 2007 創(chuàng)智新程步驟步驟5 5 y步驟步驟5 5:驗證規(guī)那么

10、是否生效:驗證規(guī)那么是否生效 y 通過系統(tǒng)存儲過程通過系統(tǒng)存儲過程sp_helptext,sp_helptext,可以查詢到對可以查詢到對于規(guī)那么的定義。于規(guī)那么的定義。 y sp_helptext CheckID sp_helptext CheckID y Copyright 2007 創(chuàng)智新程步驟步驟5 5y輸出輸出 Text - CREATE RULE CheckIDAS ID BETWEEN 0 and 10000 Copyright 2007 創(chuàng)智新程步驟步驟5 5y下面利用如下數(shù)值向下面利用如下數(shù)值向Sample_Customer表插入數(shù)據(jù)表插入數(shù)據(jù) INSERT Sample_C

11、ustomer (CustomerID) VALUES(0)INSERT Sample_Customer (CustomerID) VALUES(2345)INSERT Sample_Customer (CustomerID) VALUES(9999)INSERT Sample_Customer (CustomerID) VALUES(10001)Copyright 2007 創(chuàng)智新程步驟步驟5 5y執(zhí)行結(jié)果執(zhí)行結(jié)果CustomerIDCustomerID的值的值 執(zhí)行結(jié)果執(zhí)行結(jié)果 0 執(zhí)行成功 2345 執(zhí)行成功 9999 執(zhí)行成功 10001 列的插入或更新與先前的 CREATE RULE

12、 語句所強制的規(guī)則沖突。 Copyright 2007 創(chuàng)智新程步驟步驟5 5y如何從數(shù)據(jù)庫中刪除一條規(guī)那么如何從數(shù)據(jù)庫中刪除一條規(guī)那么 y 利用命令:利用命令:DROP RULE rule_name DROP RULE rule_name 可以將規(guī)那可以將規(guī)那么從數(shù)據(jù)庫中刪除,其中么從數(shù)據(jù)庫中刪除,其中rule_namerule_name是將要刪除的規(guī)是將要刪除的規(guī)那么名稱。那么名稱。y如何取消列上的規(guī)那么綁定如何取消列上的規(guī)那么綁定 y 利用命令:利用命令:sp_unbindrule object_name , sp_unbindrule object_name , FUTUREONLY,

13、 FUTUREONLY, 可以將列或用戶定義數(shù)據(jù)類型上綁定可以將列或用戶定義數(shù)據(jù)類型上綁定的規(guī)那么撤消掉。取消規(guī)那么意味著規(guī)那么不在用于的規(guī)那么撤消掉。取消規(guī)那么意味著規(guī)那么不在用于列或者用戶定義數(shù)據(jù)類型上。列或者用戶定義數(shù)據(jù)類型上。 Copyright 2007 創(chuàng)智新程步驟步驟5 5y下面我們?nèi)∠麆倓偨壎ㄔ诒硐旅嫖覀內(nèi)∠麆倓偨壎ㄔ诒鞸ample_Customer的的CustomerID上的上的CheckID規(guī)那么規(guī)那么 y執(zhí)行:執(zhí)行:y sp_unbindrule Sample_Customer.CustomerID y然后:然后:y INSERT Sample_Customer (Cus

14、tomerID) VALUES(10001) y查詢分析器返回結(jié)果為成功查詢分析器返回結(jié)果為成功 Copyright 2007 創(chuàng)智新程課堂練習課堂練習y1.在在Sample_Customer表中的表中的CustomerCreditLimit不不能超過能超過$10000,請創(chuàng)立規(guī)那么實現(xiàn)該之。,請創(chuàng)立規(guī)那么實現(xiàn)該之。Copyright 2007 創(chuàng)智新程課堂練習課堂練習y2.2.如下的表中:如下的表中:y CREATE TABLE Teacher CREATE TABLE Teachery ( ( y TeacherID INT PRIMARY TeacherID INT PRIMARY KE

15、Y, KEY, y TeacherName CHAR(50), TeacherName CHAR(50), y Address CHAR(50), Address CHAR(50), y PhoneNumber CHAR(12) PhoneNumber CHAR(12)y ) )y Teacher Teacher表中的字段表中的字段PhoneNumberPhoneNumber的格式為的格式為“4 4位十進制數(shù)位十進制數(shù)-7-7位十進制數(shù)組成的字符串。其中位十進制數(shù)組成的字符串。其中,7 7位十進制數(shù)中的首位不能為零。請創(chuàng)立規(guī)那么實位十進制數(shù)中的首位不能為零。請創(chuàng)立規(guī)那么實現(xiàn)該之?,F(xiàn)該之。Cop

16、yright 2007 創(chuàng)智新程使用缺省使用缺省 y使用缺省使用缺省 0任務(wù)0解題步驟0課堂聯(lián)系Copyright 2007 創(chuàng)智新程任務(wù)二任務(wù)二yFOX公司的數(shù)據(jù)錄入人員對于Sample_Customer表的CustomerAddress總是要重復(fù)輸入“Changsha,由于表已經(jīng)創(chuàng)造好了,現(xiàn)在需要在不改變表結(jié)構(gòu)的前提下,可以實現(xiàn)自動將Sample_Customer表的CustomerAddress列輸入“Changsha。 Copyright 2007 創(chuàng)智新程解題步驟解題步驟y步驟步驟1 1:確定完成任務(wù)的方法。:確定完成任務(wù)的方法。y步驟步驟2 2:確定編寫缺省的語句。:確定編寫缺省的

17、語句。y步驟步驟3 3:創(chuàng)立缺省。:創(chuàng)立缺省。y步驟步驟4 4:將缺省綁定到列。:將缺省綁定到列。y步驟步驟5 5:驗證缺省是否生效。:驗證缺省是否生效。Copyright 2007 創(chuàng)智新程步驟步驟1 1 y步驟步驟1 1:確定完成任務(wù)的方法:確定完成任務(wù)的方法y可以在創(chuàng)立表的時候?qū)⒛沉械闹翟O(shè)置成為一個缺省值可以在創(chuàng)立表的時候?qū)⒛沉械闹翟O(shè)置成為一個缺省值。在不修改表結(jié)構(gòu)的前提下,我們可以通過創(chuàng)立缺省。在不修改表結(jié)構(gòu)的前提下,我們可以通過創(chuàng)立缺省對象,然后將缺省對象綁定在列對象。對象,然后將缺省對象綁定在列對象。y所以,在不改變表結(jié)構(gòu)的前提下,使用缺省來實施上所以,在不改變表結(jié)構(gòu)的前提下,使用

18、缺省來實施上述任務(wù)述任務(wù) Copyright 2007 創(chuàng)智新程步驟步驟1 10缺省對象是一個向后兼容的功能,它執(zhí)行一些與使用 ALTER 或 CREATE TABLE 語句的 DEFAULT 關(guān)鍵字創(chuàng)立的缺省值定義相同的功能。0缺省值定義是限制列數(shù)據(jù)的首選的,并且是標準的方法,因為定義和表存儲在一起,當除去表時,將自動除去缺省值定義。0DEFAULT 對象是為特定數(shù)據(jù)庫定義的。通過將其綁定到缺省值要應(yīng)用的每個列上,它可為不同表的列所共享。 Copyright 2007 創(chuàng)智新程步驟步驟2 2 y步驟步驟2 2:確定編寫缺省對象的語句。:確定編寫缺省對象的語句。 y語法:語法:y CREATE

19、 DEFAULT default CREATE DEFAULT defaulty AS condition_expression AS condition_expressiony參數(shù)參數(shù): : y default default是缺省對象的名稱。缺省對象名稱必須符是缺省對象的名稱。缺省對象名稱必須符合標識符規(guī)那么??梢赃x擇是否指定缺省對象所有者合標識符規(guī)那么??梢赃x擇是否指定缺省對象所有者的名稱。的名稱。Copyright 2007 創(chuàng)智新程步驟步驟2 2 condition_expression 是缺省對象的條件。缺省對象可以是是缺省對象的條件。缺省對象可以是 WHERE 子句中任何有效的表

20、達式,并且可以包含諸如算術(shù)子句中任何有效的表達式,并且可以包含諸如算術(shù)運算符、關(guān)系運算符和謂詞如運算符、關(guān)系運算符和謂詞如 IN、LIKE、BETWEEN之類的元素。缺省對象不能引用列或其它數(shù)據(jù)庫對象??梢灾惖脑?。缺省對象不能引用列或其它數(shù)據(jù)庫對象。可以包含不引用數(shù)據(jù)庫對象的內(nèi)置函數(shù)。包含不引用數(shù)據(jù)庫對象的內(nèi)置函數(shù)。 例如:例如: CREATE DEFAULT defCurrentDate AS GETDATE() Copyright 2007 創(chuàng)智新程步驟步驟3 3 y步驟步驟3 3:創(chuàng)立缺省對象:創(chuàng)立缺省對象 y CREATE DEFAULT defCity CREATE DEFAUL

21、T defCityy AS Changsha AS Changsha Copyright 2007 創(chuàng)智新程步驟步驟4 4 y步驟步驟4 4:將缺省對象幫定到列:將缺省對象幫定到列y在使用缺省對象之前,需要將缺省對象綁定到相應(yīng)的在使用缺省對象之前,需要將缺省對象綁定到相應(yīng)的列上列上. .具體的語法如下:具體的語法如下:y sp_binddefault default_name, object_name sp_binddefault default_name, object_name ,FUTUREONLY,FUTUREONLYy參數(shù)參數(shù) y defult_name defult_name 由由

22、 CREATE RULE CREATE RULE 語句創(chuàng)立的使用缺語句創(chuàng)立的使用缺省的名稱省的名稱y Object_name Object_name 綁定了使用缺省的表和列或用戶定義綁定了使用缺省的表和列或用戶定義的數(shù)據(jù)類型。用戶定義的數(shù)據(jù)類型由的數(shù)據(jù)類型。用戶定義的數(shù)據(jù)類型由sp_addtypesp_addtype來定來定義的。義的。 Copyright 2007 創(chuàng)智新程步驟步驟4 4 FUTUREONLY 只將缺省對象綁定到用戶自定義數(shù)據(jù)類型時使用。 0命令 將缺省對象defCity綁定到CustomerAddress上的命令如下 sp_bindefault defCity,Sample

23、_Customer.CustomerAddress Copyright 2007 創(chuàng)智新程步驟步驟5 5 y步驟步驟5 5:驗證缺省對象是否生效:驗證缺省對象是否生效 0通過系統(tǒng)存儲過程sp_helptext,可以查詢到對于缺省對象的定義。 sp_helptext defCity0下面利用如下數(shù)值向Sample_Customer表插入數(shù)據(jù): INSERT Sample_Customer (CustomerID) VALUES(1) INSERT Sample_Customer (CustomerID) VALUES(2344) Copyright 2007 創(chuàng)智新程步驟步驟5 5y如何從數(shù)據(jù)庫

24、中刪除缺省對象如何從數(shù)據(jù)庫中刪除缺省對象 利用命令:DROP DEFAULT default_name 可以將缺省對象從數(shù)據(jù)庫中刪除,其中default_name是將要刪除缺省對象的名稱。 y如何取消列上的缺省對象綁定如何取消列上的缺省對象綁定利用命令:sp_unbindefault object_name ,FUTUREONLY, 可以將列或用戶定義數(shù)據(jù)類型上綁定的缺省對象撤消掉。取消缺省對象意味著缺省對象不在用于列或者用戶定義數(shù)據(jù)類型上。 Copyright 2007 創(chuàng)智新程步驟步驟5 5y例如例如y 下面取消剛剛綁定在表下面取消剛剛綁定在表Sample_CustomerSample_C

25、ustomer的的CustomerAddressCustomerAddress上的上的defCitydefCity缺省對象。缺省對象。 y 執(zhí)行:執(zhí)行:y sp_unbindefault sp_unbindefault Sample_Customer.CustomerAddress Sample_Customer.CustomerAddress Copyright 2007 創(chuàng)智新程課堂練習課堂練習y Sample_Customer表中的CustomerCreditLimit缺省為$500,請創(chuàng)立缺省實現(xiàn)。 Copyright 2007 創(chuàng)智新程管理表中的數(shù)據(jù)管理表中的數(shù)據(jù) y管理表中的數(shù)據(jù)管

26、理表中的數(shù)據(jù) 0插入數(shù)據(jù) 任務(wù)解題步驟課堂練習0更新數(shù)據(jù) 任務(wù)解題步驟課堂練習0刪除數(shù)據(jù) Copyright 2007 創(chuàng)智新程管理表中的數(shù)據(jù)管理表中的數(shù)據(jù)任務(wù)解題步驟課堂練習Copyright 2007 創(chuàng)智新程管理表中的數(shù)據(jù)管理表中的數(shù)據(jù) y不但可以利用不但可以利用SQL來查詢數(shù)據(jù),而且,可以利用來查詢數(shù)據(jù),而且,可以利用SQL來對數(shù)據(jù)庫中的表進行維護。來對數(shù)據(jù)庫中的表進行維護。y數(shù)據(jù)庫表數(shù)據(jù)的管理包括向表中插入、更新和刪除數(shù)數(shù)據(jù)庫表數(shù)據(jù)的管理包括向表中插入、更新和刪除數(shù)據(jù)。這些工作由據(jù)。這些工作由T-SQL的數(shù)據(jù)操縱語言來完成。的數(shù)據(jù)操縱語言來完成。y數(shù)據(jù)操縱語言數(shù)據(jù)操縱語言 y T-S

27、QL的數(shù)據(jù)操縱語言的數(shù)據(jù)操縱語言DML可用于操縱數(shù)據(jù)可用于操縱數(shù)據(jù),具體包括三個局部:,具體包括三個局部: Copyright 2007 創(chuàng)智新程管理表中的數(shù)據(jù)管理表中的數(shù)據(jù)0插入數(shù)據(jù)0更新數(shù)據(jù)0刪除數(shù)據(jù)Copyright 2007 創(chuàng)智新程任務(wù)三任務(wù)三yFOX公司的人力資源部門在招聘會上錄用了公司需要公司的人力資源部門在招聘會上錄用了公司需要的一批人才?,F(xiàn)在要將這些新員工的信息錄入到公司的一批人才?,F(xiàn)在要將這些新員工的信息錄入到公司的數(shù)據(jù)庫中去統(tǒng)一管理。的數(shù)據(jù)庫中去統(tǒng)一管理。 Copyright 2007 創(chuàng)智新程解題步驟解題步驟y步驟步驟1:確定完成任務(wù)的:確定完成任務(wù)的SQL語句。語句。

28、y步驟步驟2:創(chuàng)立:創(chuàng)立SQL語句。語句。y步驟步驟3:執(zhí)行:執(zhí)行SQL語句。語句。y步驟步驟4:驗證數(shù)據(jù)是否被插入。:驗證數(shù)據(jù)是否被插入。 Copyright 2007 創(chuàng)智新程步驟步驟1 1y步驟步驟1:確定完成任務(wù)的:確定完成任務(wù)的SQL語句語句y要完成任務(wù),需要使用要完成任務(wù),需要使用INSERT語句對現(xiàn)有表進行數(shù)語句對現(xiàn)有表進行數(shù)據(jù)的插入。據(jù)的插入。INSERT 語句可給表添加一個或多個新行語句可給表添加一個或多個新行。 y語法語法y INSERT INTO table_or_view (column_list) y VALUES (column_value_list)y原那么原那么

29、 y如果沒有指定如果沒有指定 column_list ,表或者視圖中的所有列,表或者視圖中的所有列都會接收數(shù)據(jù)。都會接收數(shù)據(jù)。Copyright 2007 創(chuàng)智新程步驟步驟1 1如果 column_list 沒有為表或視圖中的所有列命名,將在列表中沒有命名的任何列中插入一個 NULL 值或者是默認值。在列的列表中沒有指定的列都必須允許 NULL值或者默認值。具有 IDENTITY 屬性的列,不要指定值。屬于計算列的列,不要指定值。具有默認值的列,可以不指定數(shù)值。Copyright 2007 創(chuàng)智新程步驟步驟2 2 y步驟步驟2:創(chuàng)立:創(chuàng)立SQL語句語句 y創(chuàng)立創(chuàng)立 INSERT INTO 查詢

30、時必須要指定:查詢時必須要指定: y確定要添加行的數(shù)據(jù)庫表。確定要添加行的數(shù)據(jù)庫表。y確定要添加內(nèi)容的列。確定要添加內(nèi)容的列。y將要插入到單個列中的值或表達式。將要插入到單個列中的值或表達式。 y使用使用 sp_help table_name, 可以獲取表的結(jié)構(gòu)。如可以獲取表的結(jié)構(gòu)。如:sp_help Employees Copyright 2007 創(chuàng)智新程步驟步驟2 20確定要添加內(nèi)容 INSERT INTO Employees(LastName, FirstName, Title, TitleOfCourtesy,BirthDate, HireDate, Address, City, R

31、egion, PostalCode,Country, HomePhone, Extension, Photo, Notes, ReportsTo, Photopath)VALUES(Liu, Wei, Sales Representative, Mr., 1960-05-29, 1994-11-02, 4727-11th Ave. N.E, Kirkland, WA, 98033, USA, (206) 555-3413, 3355, NULL, He holds a BA in English literature from Concordia College, 2, :/accweb/em

32、mployees/liuwei.bmp)Copyright 2007 創(chuàng)智新程步驟步驟3 3 y步驟步驟3 3:執(zhí)行:執(zhí)行SQLSQL語句語句 選擇SQL語句,按F5執(zhí)行。 Copyright 2007 創(chuàng)智新程步驟步驟4 4 y步驟步驟4 4:驗證數(shù)據(jù)是否被插入:驗證數(shù)據(jù)是否被插入 驗證過程如下: SELECT * FROM Employees WHERE EmployeeID=10Copyright 2007 創(chuàng)智新程課堂練習課堂練習y 對于包含有對于包含有IDENTITY列的表,如何為這個表插入數(shù)列的表,如何為這個表插入數(shù)據(jù)據(jù)? ?Copyright 2007 創(chuàng)智新程更新表更新表 y更

33、新表更新表 0任務(wù)0解題 步驟0課堂練習Copyright 2007 創(chuàng)智新程任務(wù)四任務(wù)四yFOX公司員工在向公司員工在向Employees表中錄入數(shù)據(jù)的時候,表中錄入數(shù)據(jù)的時候,錯誤的將員工錯誤的將員工Liu Wai的名稱,輸入為的名稱,輸入為Liu Wei,現(xiàn)在需現(xiàn)在需要將名字更正過來。要將名字更正過來。 Copyright 2007 創(chuàng)智新程解題步驟解題步驟y步驟步驟1 1:確定完成任務(wù)的:確定完成任務(wù)的SQLSQL語句。語句。y步驟步驟2 2:創(chuàng)立:創(chuàng)立SQLSQL語句。語句。y步驟步驟3 3:執(zhí)行:執(zhí)行SQLSQL語句。語句。y步驟步驟4 4:驗證表中數(shù)據(jù)是否被更新。:驗證表中數(shù)據(jù)是

34、否被更新。 Copyright 2007 創(chuàng)智新程步驟步驟1 1 y步驟步驟1 1:確定完成任務(wù)的:確定完成任務(wù)的SQLSQL語句語句 0現(xiàn)在需要更新Employees表,將Liu Wai改成Liu Wei。需要使用UPDATE語句。UPDATE 語句可以更改表或視圖中單行、行組或所有行的數(shù)據(jù)值。 0更新表的語法如下 UPDATE table_nameSET column_name = expression ,column_name = expressionWHERE clause Copyright 2007 創(chuàng)智新程步驟步驟1 1y例如例如y 將將ProductsProducts表中的表中

35、的CategoryID CategoryID 為為 2 2的產(chǎn)品的單的產(chǎn)品的單價提高價提高10%10%。 y UPDATE Products UPDATE Productsy SET UnitPrice = UnitPrice SET UnitPrice = UnitPrice * * 1.1 1.1y WHERE CategoryID = 2 WHERE CategoryID = 2Copyright 2007 創(chuàng)智新程步驟步驟2 2 y步驟步驟2 2:創(chuàng)立:創(chuàng)立SQLSQL語句語句y UPDATE Employees UPDATE Employeesy SET FirstName = Wa

36、iSET FirstName = Waiy WHERE EmployeeID = 10 WHERE EmployeeID = 10 Copyright 2007 創(chuàng)智新程步驟步驟3 3 y步驟步驟3:執(zhí)行:執(zhí)行SQL語句語句 在查詢分析器中輸入SQL語句,選定后,按F5執(zhí)行。 Copyright 2007 創(chuàng)智新程步驟步驟4 4 y步驟步驟4 4:驗證表中數(shù)據(jù)是否被更新:驗證表中數(shù)據(jù)是否被更新 執(zhí)行: SELECT FirstName FROM Employees WHERE EmployeeID = 10 Copyright 2007 創(chuàng)智新程課堂練習課堂練習 y請將請將Employees表

37、中表中EmployeeID為為1的記錄中字段為的記錄中字段為Title的值改為:的值改為:Vice President, Sales。 Copyright 2007 創(chuàng)智新程刪除數(shù)據(jù)刪除數(shù)據(jù) y刪除數(shù)據(jù)刪除數(shù)據(jù) 0任務(wù)0解題步驟0課堂練習Copyright 2007 創(chuàng)智新程任務(wù)五任務(wù)五yFOX公司員工公司員工Liu Wai 向公司提出離職申請,公司需向公司提出離職申請,公司需要將要將Liu Wai的記錄從表中刪除。的記錄從表中刪除。 Copyright 2007 創(chuàng)智新程解題步驟解題步驟y步驟步驟1 1:確定完成任務(wù)的:確定完成任務(wù)的SQLSQL語句。語句。y步驟步驟2 2:創(chuàng)立:創(chuàng)立SQL

38、SQL語句。語句。y步驟步驟3 3:執(zhí)行:執(zhí)行SQLSQL語句。語句。y步驟步驟4 4:驗證表中數(shù)據(jù)是否被刪除。:驗證表中數(shù)據(jù)是否被刪除。 Copyright 2007 創(chuàng)智新程步驟步驟1 1 y步驟步驟1:確定完成任務(wù)的:確定完成任務(wù)的SQL語句語句 0利用DELETE語句可以完成上述任務(wù)。DELETE 語句可刪除表或視圖中的一行或多行。0DELETE的語法 DELETE tablename_or_viewname FROM table_name WHERE caluse Copyright 2007 創(chuàng)智新程步驟步驟2 2 y步驟步驟2 2:創(chuàng)立:創(chuàng)立SQLSQL語句語句 y DELETE

39、 Employees DELETE Employees y WHERE EmployeeID = 10WHERE EmployeeID = 10Copyright 2007 創(chuàng)智新程步驟步驟3 3 y在查詢分析器中輸入在查詢分析器中輸入SQL語句,選定后,按語句,選定后,按F5執(zhí)行。執(zhí)行。 Copyright 2007 創(chuàng)智新程步驟步驟4 4 y步驟步驟4 4:驗證表中數(shù)據(jù)是否被刪除:驗證表中數(shù)據(jù)是否被刪除 執(zhí)行: SELECT * FROM Employees WHERE EmployeeID = 10 Copyright 2007 創(chuàng)智新程課堂練習課堂練習y對于表中沒有指定缺省值的可為空的

40、字段,如果在插入數(shù)據(jù)的對于表中沒有指定缺省值的可為空的字段,如果在插入數(shù)據(jù)的時候,沒有為該列指定數(shù)值,請問時候,沒有為該列指定數(shù)值,請問SQL ServerSQL Server將會插入什么值將會插入什么值?y對于包含缺省值字段的表,在表中插入數(shù)據(jù)的時候,如何為這對于包含缺省值字段的表,在表中插入數(shù)據(jù)的時候,如何為這個字段插入缺省數(shù)值。個字段插入缺省數(shù)值。Copyright 2007 創(chuàng)智新程將現(xiàn)有表的數(shù)據(jù)存儲到新表將現(xiàn)有表的數(shù)據(jù)存儲到新表 y將現(xiàn)有表的數(shù)據(jù)存儲到新表將現(xiàn)有表的數(shù)據(jù)存儲到新表 0任務(wù)0解題步驟0課堂練習Copyright 2007 創(chuàng)智新程任務(wù)六任務(wù)六yFOX公司的人力資源部門要

41、對自己的管理信息系統(tǒng)進行公司的人力資源部門要對自己的管理信息系統(tǒng)進行維護,需要將維護,需要將Employees表做個備份。希望將表做個備份。希望將Employees中的數(shù)據(jù)及表結(jié)構(gòu)導(dǎo)入到名稱為中的數(shù)據(jù)及表結(jié)構(gòu)導(dǎo)入到名稱為Employees_temp的表中的表中。但是,。但是,Employees_temp表并不存在。表并不存在。 Copyright 2007 創(chuàng)智新程解題步驟解題步驟y步驟步驟1:確定完成任務(wù)的:確定完成任務(wù)的SQL語句。語句。y步驟步驟2:創(chuàng)立:創(chuàng)立SQL語句。語句。y步驟步驟3:執(zhí)行:執(zhí)行SQL語句。語句。y步驟步驟4:驗證表是否被成功創(chuàng)立。:驗證表是否被成功創(chuàng)立。 Copy

42、right 2007 創(chuàng)智新程步驟步驟1 1 y步驟步驟1 1:確定完成任務(wù)的:確定完成任務(wù)的SQLSQL語句語句 0由于Employees_temp表并不存在,要求使用的SQL語句能夠根據(jù)要導(dǎo)出數(shù)據(jù)的表結(jié)構(gòu)生成一個新的表結(jié)構(gòu),然后將要導(dǎo)出的數(shù)據(jù),插入到這個新的表中去。 0語法 SELECT table_name.column_name_lists,table_name.column_name_lists INTO new_table_name FROM table_nameCopyright 2007 創(chuàng)智新程步驟步驟2 2 y步驟步驟2 2:創(chuàng)立:創(chuàng)立SQLSQL語句語句 y確定確定SQL

43、 SQL 語句如下:語句如下: y SELECT Employees. SELECT Employees.* *y INTO Employees_temp INTO Employees_tempy FROM Employees FROM EmployeesCopyright 2007 創(chuàng)智新程步驟步驟2 20或者: SELECT EmployeeID,LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address,City,Region, PostalCode, Country, HomePhone, Exte

44、nsion,Photo, Notes, ReportsTo,Photopath INTO Employees_temp FROM Employees Copyright 2007 創(chuàng)智新程步驟步驟3 3 y步驟步驟3:執(zhí)行:執(zhí)行SQL語句語句 將上述SQL語句選中后,按F5執(zhí)行。 Copyright 2007 創(chuàng)智新程步驟步驟4 4 y步驟步驟4 4:驗證表是否被成功創(chuàng)立:驗證表是否被成功創(chuàng)立 y利用利用SELECT SELECT * * FROM Employees_temp FROM Employees_temp進行查詢?;蛘哌M行查詢?;蛘?,利用,利用sp_help Employees_t

45、emp sp_help Employees_temp 查看表的結(jié)構(gòu),以查看表的結(jié)構(gòu),以驗證驗證Employees_tempEmployees_temp是否被創(chuàng)立。是否被創(chuàng)立。y具體語法如下具體語法如下 y INSERT INTO INSERT INTO target_table_name.column_name_liststarget_table_name.column_name_listsy SELECT table_name or SELECT table_name or view_name.column_name_listsview_name.column_name_listsy FRO

46、M table_name or view_name FROM table_name or view_namey WHERE clause WHERE clause Copyright 2007 創(chuàng)智新程課堂練習課堂練習y請將請將ProductsProducts表及其數(shù)據(jù)導(dǎo)入到一個名為表及其數(shù)據(jù)導(dǎo)入到一個名為Products_tempProducts_temp的表中的表中,現(xiàn)在,現(xiàn)在Products_tempProducts_temp表不存在。表不存在。y y如果已經(jīng)存在一個和如果已經(jīng)存在一個和ProductsProducts表的表結(jié)構(gòu)完全相同的一個表表的表結(jié)構(gòu)完全相同的一個表Products_

47、temp,Products_temp,現(xiàn)在要將現(xiàn)在要將ProductsProducts表中表中SupplierIDSupplierID為為1 1的產(chǎn)品記的產(chǎn)品記錄拷貝到錄拷貝到Products_tempProducts_temp中,請問如何做?中,請問如何做? Copyright 2007 創(chuàng)智新程清空表中的數(shù)據(jù)清空表中的數(shù)據(jù) y利用利用DELETE語句,可以刪除表中的所有行。但是,語句,可以刪除表中的所有行。但是,不是一種最快的方法。要刪除表中的所有行,那么不是一種最快的方法。要刪除表中的所有行,那么 TRUNCATE TABLE 語句是一種快速、無日志記錄語句是一種快速、無日志記錄的方法。

48、的方法。y語法如下:語法如下: y TRUNCATE TABLE table_name Copyright 2007 創(chuàng)智新程課堂練習課堂練習y請將請將ProductsProducts表中表中ProductIDProductID為為7777的記錄從表中刪除,在刪除該的記錄從表中刪除,在刪除該記錄之前,請將記錄之前,請將ProductsProducts表備份到一個新表表備份到一個新表Products_TempProducts_Temp中。中。然后,再利用然后,再利用Products_TempProducts_Temp表中的數(shù)據(jù),將表中的數(shù)據(jù),將ProductIDProductID為為7777的的

49、記錄復(fù)原到記錄復(fù)原到ProductsProducts表中去。表中去。 Copyright 2007 創(chuàng)智新程課堂小結(jié)課堂小結(jié)在本章中,你學習到了:利用CREATE RULE創(chuàng)立規(guī)那么并綁定規(guī)那么。 利用CREATE DEFAULT創(chuàng)立缺省并綁定缺省。 用INSERT語句向表中插入數(shù)據(jù)。 使用SELECT INTOFROM 將表或視圖的數(shù)據(jù)批量轉(zhuǎn)儲到一個新表中。 使用INSERT INTOFROM 將表或視圖的數(shù)據(jù)批量轉(zhuǎn)儲到一個已經(jīng)存在的表中。Copyright 2007 創(chuàng)智新程課堂小結(jié)課堂小結(jié)y用用UPDATE語句更新表中的數(shù)據(jù)。語句更新表中的數(shù)據(jù)。y 用用DELETE刪除表中的數(shù)據(jù)。刪除表中的數(shù)據(jù)。y 用用TRUNCATE TABLE徹底清空表中的數(shù)據(jù)。徹底清空表中的數(shù)據(jù)。Copyright 2007 創(chuàng)智新程y9、靜夜四無鄰,荒居舊業(yè)貧。4月-224月-22Thursday, April 21, 2022y10、雨中黃葉樹,燈下白頭人。17:03:0617:03:0617:034/21/2022 5:03:06 PM

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論