第2章SQLServer數(shù)據(jù)表管理及數(shù)據(jù)修改.ppt_第1頁
第2章SQLServer數(shù)據(jù)表管理及數(shù)據(jù)修改.ppt_第2頁
第2章SQLServer數(shù)據(jù)表管理及數(shù)據(jù)修改.ppt_第3頁
第2章SQLServer數(shù)據(jù)表管理及數(shù)據(jù)修改.ppt_第4頁
第2章SQLServer數(shù)據(jù)表管理及數(shù)據(jù)修改.ppt_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章,SQL Server 數(shù)據(jù)表管理 及數(shù)據(jù)修改,課程回顧,舉例說明什么是數(shù)據(jù)冗余? 數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件的擴展名分別是什么? 舉例說明在哪些情況下需要分離和附加數(shù)據(jù)庫? 如何實現(xiàn)數(shù)據(jù)庫的備份和還原?,2,本章節(jié)授課目標,創(chuàng)建數(shù)據(jù)庫表 設(shè)置表的主鍵、外鍵和建立表之間的關(guān)系 為表增加約束 使用T-SQL向表中插入數(shù)據(jù) 使用T-SQL更新表中數(shù)據(jù) 使用T-SQL刪除表中數(shù)據(jù),3,再論數(shù)據(jù)完整性 2-1,數(shù)據(jù)完整性,+,=,準確性,可靠性,4,再論數(shù)據(jù)完整性 2-2,數(shù)據(jù)存放在表中 “數(shù)據(jù)完整性的問題大多是由于設(shè)計引起的” 創(chuàng)建表的時候,就應(yīng)當(dāng)保證以后數(shù)據(jù)輸入是正確的 錯誤的數(shù)據(jù)、不符合要

2、求的數(shù)據(jù)不允許輸入,創(chuàng)建表:保證數(shù)據(jù)的完整性 = 實施完整性約束,5,完整性包括2-1,輸入的類型是否正確? 年齡必須是數(shù)字 輸入的格式是否正確? 身份證號碼必須是18位 是否在允許的范圍內(nèi)? 性別只能是“男”或者“女” 是否存在重復(fù)輸入? 學(xué)員信息輸入了兩次 是否符合其他特定要求? 信譽值大于5的用戶才能夠加入會員列表 ,6,完整性包括2-2,7,實體完整性,約束方法:唯一約束、主鍵約束、標識列,8,域完整性,約束方法:限制數(shù)據(jù)類型、檢查約束、外鍵約束、默認值、非空約束,9,引用完整性,約束方法:外鍵約束,10,自定義完整性,約束方法:規(guī)則、存儲過程、觸發(fā)器,11,創(chuàng)建數(shù)據(jù)庫表2-1,12,

3、SQL Server的數(shù)據(jù)類型,13,創(chuàng)建數(shù)據(jù)庫表2-2,14,選擇主鍵的原則,最少性 盡量選擇單個鍵作為主鍵 穩(wěn)定性 盡量選擇數(shù)值更新少的列作為主鍵 表中沒有合適的列作為主鍵怎么辦? 為表添加標識列,15,創(chuàng)建數(shù)據(jù)庫表-3,16,主外鍵關(guān)系2-1,演示建立主-外鍵關(guān)系,17,主外鍵關(guān)系2-2,演示建立數(shù)據(jù)庫關(guān)系圖,18,創(chuàng)建檢查約束,演示建立檢查約束,19,創(chuàng)建數(shù)據(jù)庫完畢!,輸入數(shù)據(jù)項,驗證主鍵、主外鍵關(guān)系、檢查約束,20,小結(jié),有問題嗎?,21,SQL和T-SQL,SQL(Structured Query Language)結(jié)構(gòu)化查詢語言 它是查詢和管理關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)中

4、的數(shù)據(jù)而專門設(shè)計的一種標準語言。 T-SQL = Transact-SQL T-SQL是SQL的加強版 對功能進行了擴充:如變量說明、流程控制、功能函數(shù),22,T-SQL的組成,DML(數(shù)據(jù)操作語言) 查詢、插入、刪除和修改數(shù)據(jù)庫中的數(shù)據(jù) SELECT、INSERT、 UPDATE 、DELETE等 DCL(數(shù)據(jù)控制語言) 用來控制存取許可、存取權(quán)限等 GRANT、REVOKE 等 DDL(數(shù)據(jù)定義語言) 用來建立數(shù)據(jù)庫、數(shù)據(jù)庫對象和定義其列 CREATE TABLE 、DROP TABLE 等 變量說明、流程控制、功能函數(shù) 定義變量、判斷、分支、循環(huán)結(jié)構(gòu)等 日期函數(shù)、數(shù)學(xué)函數(shù)、字符函數(shù)、系統(tǒng)

5、函數(shù)等,23,T-SQL中的運算符,24,通配符,通常與LIKE關(guān)鍵字一起來使用 可以用在檢查約束中使用LIKE 在后面的查詢語句中還會經(jīng)常使用到,25,邏輯表達式,NOT (付款方式 = 信用卡) OR (信用卡 陽光卡) 這個表達式的含義是什么?,26,插入數(shù)據(jù)行 7-1,INSERT INTO 列名 VALUES ,INSERT INTO dbo.TBa_MemberInfo(UserName,Pwd,Email,Balance,Status,RegDate,ActiveDate,ActiveCode,Remark) VALUES(zhuer,123234,0,1,2010-08-31,

6、2010-08-31,23424,普通會員);,INSERT INTO dbo.TBa_MemberInfo VALUES(zhuer,123234,0,1,2010-08-31,2010-08-31,23424,普通會員);,27,插入數(shù)據(jù)行 7-2,注意事項1: 每次插入一行數(shù)據(jù),不能只插入半行或者幾列數(shù)據(jù) 插入的數(shù)據(jù)是否有效將按照整行的完整性的要求來檢驗,INSERT INTO dbo.TBa_MemberInfo(UserName,Pwd,Email,Balance,Status,RegDate,ActiveDate,ActiveCode,Remark) VALUES(zhuer,12

7、3234);,注意事項2: 每個數(shù)據(jù)值的數(shù)據(jù)類型、精度和小數(shù)位數(shù)必須與相應(yīng)的列匹配,INSERT INTO dbo.TBa_MemberInfo(UserName,Pwd,Email,Balance,Status) VALUES(zhuer3,123234,0,未激活);,代碼錯誤,代碼錯誤,28,插入數(shù)據(jù)行 7-3,注意事項3: 不能為標識列指定值,INSERT INTO dbo.TBa_MemberInfo(ID,UserName,Pwd,Email,Balance,Status) VALUES(140,zhuer3,123234,0,0);,代碼錯誤,注意事項4: 如果在設(shè)計表的時候就指

8、定了某列不允許為空,則必須插入數(shù)據(jù),INSERT INTO dbo.TBa_MemberInfo(UserName,Email,Balance,Status) VALUES(140,zhuer3,0,0);,代碼錯誤,29,插入數(shù)據(jù)行 7-4,注意事項5: 插入的數(shù)據(jù)項,要求符合檢查約束的要求,INSERT INTO dbo.TBa_MemberInfo(UserName,Pwd,Email,Balance,Status) VALUES(zhuer3,234,0,0);,代碼錯誤,注意事項6: 具有缺省值的列,可以使用DEFAULT(缺?。╆P(guān)鍵字來代替插入的數(shù)值,INSERT INTO dbo

9、.TBa_MemberInfo(UserName,Pwd,Email,Balance,Status) VALUES(zhuer3,234234,0,DEFAULT);,30,插入多行數(shù)據(jù) -1,INSERT INTO dbo.AA SELECT 11,11 UNION ALL SELECT 22,22 UNION ALL SELECT 33,33 UNION ALL SELECT 44,44;,INSERT INTO (列名) SELECT UNION SELECT UNION ,INSERT INTO dbo.AA(A1,A2) VALUES (11,11), (22,22);,31,插入多

10、行數(shù)據(jù) -1,SELECT UserName,Pwd,Balance INTO dbo. #T FROM dbo.TBa_MemberInfo;,SELECT (列名) INTO FROM ,該語句可以執(zhí)行兩次嗎?,#T為臨時表,32,插入多行數(shù)據(jù) -2,INSERT INTO dbo.#T SELECT UserName,Pwd,Balance FROM dbo.TBa_MemberInfo;,INSERT INTO (列名) SELECT FROM ,33,插入多行數(shù)據(jù) -3,SELECT IDENTITY(INT,1,1) AS ID,UserName,Pwd,Email,Balance

11、 INTO dbo.temp FROM dbo.TBa_MemberInfo;,SELECT INTO插入多行數(shù)據(jù)的時候,如何插入新的標識列?,SELECT IDENTITY(數(shù)據(jù)類型,標識種子,標識增長量) AS 列名 INTO 新表 FROM 原始表,34,更新數(shù)據(jù)行,UPDATE SET WHERE ,UPDATE TBa_MemberInfo SET Balance=Balance+10;,UPDATE TBa_MemberInfo SET Balance=Balance+10 WHERE Status=1;,UPDATE TBa_MemberInfo SET Balance=Bala

12、nce+10,Remark=余額增10元 WHERE Status=1 AND Balance=0;,35,刪除數(shù)據(jù)行2-1,DELETE FROM WHERE ,DELETE FROM TBa_MemberInfo WHERE UserName=xyz123;,DELETE FROM TBa_MemberInfo WHERE UserName=zizhu1226;,注意事項1: DELETE命令以行為單位進行刪除,DELETE關(guān)鍵字后不能包含字段信息,DELETE * FROM TBa_MemberInfo;,注意事項2: 表中數(shù)據(jù)被其它表引用時,數(shù)據(jù)不能刪除,運行錯誤,運行錯誤,36,刪除

13、數(shù)據(jù)行2-2,=,功能類似,注意: 1.表結(jié)構(gòu)、列、約束等不被改動 2.不能用于有外鍵約束的表 3.標識列重新開始編號,TRUNCATE TABLE ,TRUNCATE TABLE TBa_MemberInfo;,DELETE FROM TBa_MemberInfo;,37,小結(jié),有問題嗎?,38,38,總結(jié),本章重點講解了: 使用SQL Server Management Studio管理數(shù)據(jù)庫表的基本操作:設(shè)置主鍵、創(chuàng)建關(guān)系、創(chuàng)建約束 使用INSERT語句完成數(shù)據(jù)插入 使用UPDATE語句完成數(shù)據(jù)修改 使用DELETE語句完成數(shù)據(jù)刪除,39,上機作業(yè),作業(yè) 練習(xí)使用SQL Server Management Studio創(chuàng)建數(shù)

溫馨提示

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

最新文檔

評論

0/150

提交評論