c語言和數據庫技術基礎_第1頁
c語言和數據庫技術基礎_第2頁
c語言和數據庫技術基礎_第3頁
c語言和數據庫技術基礎_第4頁
c語言和數據庫技術基礎_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第八章 用SQL語句操作數據建立數據庫表之間的主外鍵關系是為了維護數據庫的哪種完整性?年齡信息、性別信息分別采用哪種數據類型存儲比較合適?限制年齡在18-40歲之間的檢查約束表達式如何寫?完整地設置數據庫表的需要哪幾個步驟?回顧和作業點評SQL語句的作用是什么?插入語句使用的是INSERT、UPDATE還是DELETE?TRUNCATE語句的作用是什么?預習檢查學生數據庫中數據的增加、修改和刪除數據本章任務使用T-SQL向表中插入數據使用T-SQL更新表中數據使用T-SQL刪除表中數據本章目標SQL是什么?Structured Query Language:結構化查詢語言為何要使用SQL?難道

2、僅僅使用SQL Server Management Studio操作數據庫?應用程序如何與數據庫打交道?何時使用?對SQL Server執行所有的操作都可以程序中的增刪改查怎么使用?SQL簡介T-SQL :Transact-SQLT-SQL是SQL的增強版對功能進行了擴充:如變量說明、流程控制、功能函數SQL和T-SQLDML(數據操作語言)插入、刪除和修改數據庫中的數據DCL(數據控制語言) 用來控制存取許可、存取權限等DQL(數據查詢語言)用來查詢數據庫中的數據DDL(數據定義語言)用來建立數據庫、數據庫對象和定義表的列SQL的組成INSERT、 UPDATE 、DELETE等GRANT、

3、REVOKE 等CREATE TABLE 、DROP TABLE 等SELECT 等SQL中的運算符3-1算術運算符 運算符說 明+加運算,求兩個數或表達式相加的和,如6+8-減運算,求兩個數或表達式相減的差 *乘運算,求兩個數或表達式相乘的積 /除運算,求兩個數或表達式相除的商,如5/3的值為1%取模運算,求兩個數或表達式相除的余數,如:5%3的值為2 運算符一種符號,它是用來進行列間或者變量之間的比較和數學運算的 算術運算符、賦值運算符、比較運算符、邏輯運算符 SQL中的運算符3-2運算符說 明=把一個數或變量或表達式賦值給另一變量,如:Name=王華 賦值運算符運算符說 明AND當且僅當

4、兩個布爾表達式都為true時,返回TRUE。OR當且僅當兩個布爾表達式都為false,返回FALSE。NOT對布爾表達式的值取反 邏輯運算符SQL中的運算符3-3比較運算符運算符說 明=等于,例如:age=23 大于,例如:price100 小于 不等于=大于等于=小于等于!=不等于(非SQL-92標準 )語法檢查數據庫對象執行選擇數據庫T-SQL執行結果查詢窗口的介紹調試INSERT INTO 表名 (列名) VALUES (值列表)INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (張青裁,上海松江,6, ,0)

5、 向學生表中插入一行數據插入數據行語法演示示例1:插入一條學生記錄注意事項1:每次插入一行數據,不能只插入半行或者幾列數據插入的數據是否有效將按照整行的完整性的要求來檢驗INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (張青裁) 代碼錯誤 插入數據行注意事項3-1注意事項2:每個數據值的數據類型、精度和小數位數必須與相應的列匹配INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (張青裁,上海松江,ZQC, , ZG) 代碼錯誤插入數據行注

6、意事項3-2注意事項3:不能為標識列指定值INSERT INTO Students (SCode,SName,SAddress,SGrade,SEmail,SSEX) VALUES (32,張青裁,上海松江,6, ,0) 代碼錯誤注意事項4:如果在設計表的時候就指定了某列不允許為空,則必須插入數據INSERT INTO Students (SAddress,SGrade,SEmail,SSEX) VALUES (上海松江,6, ,0) 代碼錯誤插入數據行注意事項3-3注意事項5:插入的數據項,要求符合檢查約束的要求INSERT INTO Students (SName,SAddress,SGr

7、ade,SEmail,SSEX) VALUES (張青裁,上海松江,6,ZQC,0)代碼錯誤注意事項6:具有缺省值的列,可以使用DEFAULT(缺省)關鍵字來代替插入的數值INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (張青裁,DEFAULT,6, ,0)指導增加學生記錄2-1訓練要點:使用INSERT語句向數據庫表插入數據 需求說明:在Student表中使用T-SQL插入如下數據 學 號密碼姓名性別年級聯系電話現住址生 日電子郵件S1200902001zhangsan張三男1 解放路1990-1-1 S1200

8、902002lisi89李四男1 長江路1989-2-1S1200902003(默認值)王五男1 (默認值)1988-5-3S1200902004wanglili王麗麗女1 (默認值)1987-6-2 S1200902005(默認值)張峰男1 (默認值)1991-8-8講解需求說明指導增加學生記錄2-2難點分析默認值的插入方式、日期型數據的插入方式、允許空值的列插入方式完成時間:20分鐘INSERT INTO Student (StudentNo,LoginPwd,StudentName,Sex,GradeId,Phone,Address,BornDate)VALUES (S120090200

9、5,DEFAULT,張峰, 男,1, ,DEFAULT, 1987-6-2)INSERT INTO AddressList (姓名,地址,電子郵件) SELECT SName,SAddress,SEmailFROM StudentsINSERT INTO (列名)SELECT FROM 插入多行數據 4-1第一種方法通過INSERT SELECT語句將現有表中的數據添加到已存在的表中演示示例2:插入多條學生記錄SELECT Students.SName,Students.SAddress,Students.SEmailINTO AddressList FROM StudentsSELECT (

10、列名)INTO FROM 插入多行數據 4-2第二種方法通過SELECT INTO語句將現有表中的數據添加到新表中該語句可以執行兩次嗎?演示示例2:插入多條學生記錄INSERT STUDENTS (SName,SGrade,SSex)SELECT 張可,7,1 UNIONSELECT 李揚,4,0 UNIONSELECT 楊曉,2,0 UNIONSELECT 湯美,3,0 UNIONSELECT 蘇三東,7,1 UNIONSELECT 王立巖,3,1 UNIONSELECT 張偉,7,1 UNIONSELECT 陳剛,4,1 UNIONSELECT 王娟娟,7,0INSERT INTO (列名

11、)SELECT UNIONSELECT UNION插入多行數據 4-3第三種方法通過UNION關鍵字合并數據進行插入演示示例2:插入多條學生記錄練習創建學生通訊錄需求說明:根據學生信息表Student,使用INSERT SELECT語句創建通訊錄表Address_IS。根據學生信息表Student,使用SELECT INTO語句創建通訊錄表Address_SI。保存T-SQL為“創建通訊錄.sql” 文件。完成時間:10分鐘練習增加科目需求說明:在Subject表中使用T-SQL插入如下數據 保存T-SQL為“增加科目記錄.sql” 文件 完成時間:10分鐘科目名稱課 時所屬年級Subject

12、NameClassHourGradeId走進Java編程世界401HTML和CSS網頁技術601練習增加成績信息需求說明:在Result表中使用T-SQL插入如下數據 保存T-SQL為“增加成績記錄.sql” 文件 完成時間:10分鐘學 號所考科目分 數考試日期StudentNoSubjectIdStudentResultExamDateS12009020011802009-9-13S12009020021452009-9-13S12009020012902009-10-18S12009020022602009-10-18UPDATE 表名 SET 列名 = 更新值 WHERE 更新條件UPD

13、ATE Students SET SSEX = 0UPDATE Students SET SAddress =北京女子職業技術學校家政班 WHERE SAddress = 北京女子職業技術學校刺繡班UPDATE ScoresSET Scores = Scores + 5WHERE Scores = 95使用UPDATE更新數據行演示示例3:修改記錄指導修改學生記錄2-1訓練要點:使用UPDATE語句修改數據庫表中的數據 需求說明:修改學生的住址修改學生的所屬年級修改某課程的學時數提高某課程分數修改某學生分數修改空值的記錄 講解需求說明指導修改學生記錄2-2難點分析多條件的聯合使用AND日期的比

14、較判斷列是否為空 WHERE ExamDate=2009-9-13 AND SubjectId=1 AND StudentResult60 WHERE ExamDate=2009-9-13 WHERE Email IS NULL OR Email= 完成時間:20分鐘共性問題集中講解常見調試問題及解決辦法代碼規范問題共性問題集中講解DELETE FROM 表名 WHERE DELETE FROM Students WHERE SName =張青裁DELETE FROM 學生信息表 WHERE 學號 =0010012運行錯誤河南新鄉趙可以0010016河南新鄉張麗鵑0010015江西南昌雷銅00

15、10014湖南新田吳蘭0010013山東定陶李山0010012.地址姓名學號980010016數學810010013語文670010012語文740010013數學880010012數學.分數學號科目使用DELETE刪除數據行子表中存在對應數據!演示示例4:刪除學生記錄以下的刪除語句可以執行嗎?DELETE SCode FROM Students思考不能TRUNCATE TABLE 表名TRUNCATE TABLE StudentsDELETE FROM Students=功能類似注意:1.表結構、列、約束等不被改動2.不能用于有外鍵約束的表 3.標識列重新開始編號使用TRUNCATE刪除數據行演示示例4:刪除學生記錄練習刪除學生記錄需求說明:學校要求不允許1991年7月1日后出生的學生入學 保存T-SQL為“刪除記錄.sql” 文件 完成時間:5分鐘導出數據操作演示:導出數據為.TXT文件導入數據操作演示:導入.xls文件數據練習導入Excel數據需求說明:將提供的素材文件Subject.xls導入到數據庫表Subject中將提供的素材文件Student.xl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論