




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據庫系統(tǒng)開發(fā)與應用主講:凃云杰電子工業(yè)出版社鄭阿奇主編第
四章數據庫數據操作教學目標:了解:索引的概念理解:創(chuàng)建索引的必要性掌握:數據記錄的增刪改操作、索引的創(chuàng)建。重點難點:教學重點:數據記錄的增刪改操作、創(chuàng)建索引的方法。教學難點:用命令方式創(chuàng)建索引的方法、數據記錄的增刪改操作1.插入數據記錄在“對象資源管理器”中展開“數據庫jxgl”,用鼠標右鍵單擊要進行操作的表teacher,在彈出的快捷菜單上選擇“編輯前200行”菜單項,打開“表數據”窗口。在此窗口中,表中的記錄將按行顯示,每個記錄占一行。
4.1使用SSMS操作表中的數據2.修改數據記錄如果信息有變動,定位到所在的一行的相應位置進行修改,修改之后將光標移到下一行保存修改的內容。3.刪除數據記錄在表
的“表數據”窗口中定位需被刪除的記錄行,單擊該行最前面的黑色箭頭處選擇全行,用鼠標右鍵單擊,選擇“刪除(D)”菜單項。選擇“刪除(D)”后,將出現一個確認對話框,單擊“是”按鈕將刪除所選擇的記錄行。1.使用INSERT語句輸入數據
使用T-SQL的INSERTINTO語句,可以向表中輸入數據?;菊Z法如下:INSERT[INTO]<table_name|view_name>[columnlist]VALUES(valueslist|selectstatement)4.2使用T-SQL操作表中的數據INSERT語句輸入數據時應注意以下問題:⑴當向表中所有列輸入數據時,columnlist子句可以缺省。若缺省該子句,數據清單中數據的順序一定與表中列的順序一致。⑵當要輸入數據的表中包含有標識列、允許為空的列、設置默認值的列時,可以不輸入該列的值。⑶當向字符型、日期型列輸入數據時,要以單引號引起來。(1)向表中輸入一行數據【例4-1】向表major中插入一條合法記錄。USEjxglGOINSERTINTOmajorVALUES('m05','電子商務')練習:
向teacher表中輸入一條元組,元組相應字段值如下:('611','張力軍','女','1975-7-7','副教授','教研室主任',null,,'海拉爾學府路號','黨員','zhanglijun@163.com',,'計算機科學與技術學院')(2)輸入一行中的部分列【例4-2】向表teacher插入一條合法記錄。代碼如下:USEJXGLGOINSERTINTOteacher(tno,tname,tsex,professionaltitle)
--列名清單只列出需要輸入數據的列VALUES('t09','董衛(wèi)剛','男','講師')
--輸入清單中列出的部分列的數據GO(3)一次向表中輸入多行記錄【例4-3】向major表輸入2條合法記錄。USEJXGLGOINSERTINTOmajorVALUES('m06','遠程技術'),('m07','傳感技術')【例4-4】建立一張新表js(bhchar(4),xmchar(8)),將teacher表的所有記錄的教師號和姓名插入到js中。
CREATETABLEjs(bhCHAR(4),xmCHAR(8))GOINSERTINTOjsSELECTtno,tnameFROMteacher對每一個系,求學生的平均年齡,并把結果存入數據庫。第一步:建表CREATETABLEDept_age(SdeptCHAR(15), /*系名*/Avg_agenumeric(5,2)) /*學生平均年齡*/練習第二步:插入數據
INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;2.使用DELETE語句刪除表中的數據行表中沒有意義的數據,使用DELETE語句以行為單位刪除?;菊Z法如下:DELETE[FROM]table_name|view_nameWHEREsearch_condition【例4-5】刪除表major中majorno為‘m05’的行。代碼如下:DELETEFROMmajorWHEREmajorno='m05'GO練習:刪除teacher表中張力軍老師的記錄。3.使用UPDATE語句更新表中的數據使用UPDATE語句可以更新表的一行、一行中的某些列,也可以更新表中所有行或所有行的某些列。基本語法如下:UPDATEtable_nameSETcolumn_name=express|NULL|DEFAULT[,…n][WHERElogical_express]其中:SET子句:指定要被更新的列及其新的值。WHERE子句:指定修改條件,只有滿足條件的那些行的列值才被修改為SET子句指定的數據。express:新數據可以是常量或表達式。(1)更新表中所有行的某一列。【例4-6】將表student_teacher_course中所有同學的成績提高5分。USEJXGLGOUPDATEstudent_teacher_courseSETgrade=grade+5GO(2)更新表中某些行的某一列?!纠?-7】將表student_teacher_course中學號為‘2010010001’的同學所有課程的成績提高5分。代碼如下:USEJXGLGOUPDATEstudent_teacher_courseSETgrade=grade+5WHEREsno='2010010001'GO(3)更新表中多個行的多個列?!纠?-8】將表major_course中專業(yè)基礎課的學分提高0.5分,考試形式改為閉卷。代碼如下:USEJXGLGOUPDATEmajor_courseSETcredit=credit+0.5,examinationform='閉卷'WHEREtype='專業(yè)基礎'GOTRUNCATETABLE語句使用TRUNCATETABLE語句將刪除指定表中的所有數據,因此也稱為清除表數據語句。語法格式如下:TRUNCATETABLE<表名>說明:使用TRUNCATETABLE語句刪除了指定表中的所有行,但表的結構及其列、約束、索引等保持不變,而新行標識所用的計數值重置為該列的初始值。如果想保留標識計數值,則要使用DELETE語句。TRUNCATETABLE在功能上與不帶WHERE子句的DELETE語句相同,二者均刪除表中的全部行。但TRUNCATETABLE比DELETE速度快,且使用的系統(tǒng)和事務日志資源少。設有三個關系:C(CNO,CNAME,PCNO)SC(SNO,CNO,SCORE)S(SNO,SNAME,AGE,SEX)其中:C為課程表關系,對應的屬性分別是課號、課程名和預選課號;SC為學生選課表關系,對應的屬性分別是學號、課號和成績;S表示學生,它的各屬性依次為學號、姓名、年齡和性別。用SQL語言寫出:(1)向S表中插入一條新元組(‘2011010001’,‘張力’,19,‘男’)。(2)將學號為‘2011010001’的學生年齡改為20。(3)刪除學號為‘2011010001’的學生記錄。(4)建立一反映各學生總成績的視圖S_ZCJ,視圖包括學號、姓名、總成績三列。1.索引的概念
索引是對表或視圖中的一列或多個列的值進行排序的一種物理結構,它由該表或視圖中的一列或若干列值,以及這些列值的記錄在數據表中存儲位置的物理地址所組成。
(1)聚集索引(CLUSTEREDINDEX,也稱聚類索引、簇集索引)。聚集索引是表數據的物理排序。
(2)非聚集索引(NONCLUSTEREDINDEX,也稱非聚類索引、非簇集索引)。非聚集索引具有與表數據完全分離的存儲結構。
4.3索引索引的優(yōu)缺點(1)索引的優(yōu)點唯一性索引可保證表中每一行數據的唯一性加快數據查詢速度,尤其是數據量很大時。(最主要原因)加速表和表之間連接速度,特別是在實現數據的參照完整性方面特別有意義。在使用分組和排序子句進行數據查詢時,可以顯著減少分組和排序時間。通過使用索引,可以在查詢過程中使用優(yōu)化隱藏器,提高系統(tǒng)性能。(2)索引的缺點索引需要占用數據表以外的物理存儲空間創(chuàng)建索引和維護索引要耗費時間,且這個時間隨著數據量的增加而增加。當表中的數據增加、刪除和修改時,索引也要動態(tài)地更改或重建,降低數據的更新速度。索引的應用原則主鍵列一般需要建立索引,因為通常查詢和存取表都是通過主鍵進行的。外鍵列一般需要建立索引,以便保證進行表連接操作時的快速執(zhí)行。經常查詢的字段最好建立索引。索引中列的組合取決于哪些字段經常一起作為聯(lián)合查詢條件。數據量小的表、很少或從來不在查詢中作為條件引用的列,只有很少取值的列,定義為text、image和bit數據類型的列不要建立索引。當更新或插入操作的性能要求比查詢操作的性能要求更重要時,最好不建立索引。2.使用T-SQL語句創(chuàng)建索引可以使用T-SQL的CREATEINDEX語句創(chuàng)建索引。CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEXindex_nameON{table|view}(column[ASC|DESC][,...n])[WITH<index_option>[,...n]][ONfilegroup][;]其中:UNIQUE:指明創(chuàng)建的是唯一索引。CLUSTERED|NONCLUSTERED:指明創(chuàng)建的索引為聚集索引還是非聚集索引。系統(tǒng)默認創(chuàng)建的索引為非聚集索引。ASC|DESC:指定特定的索引列的排序方式,默認為升序(ASC)。Column:指定被索引的列。如果使用兩個或兩個以上的列組成一個索引,則稱為復合索引?!纠?-9】在表student上創(chuàng)建非聚集索引idstu,該索引基于“班級”和“出生日期”兩個字段,并按照“班級”升序、“出生日期”降序創(chuàng)建。CreatenonclusteredindexclassbirOnstudent(classno,birthdaydesc)【例4-10】為teacher創(chuàng)建唯一索引,該索引基于身份證號identitycard字段CreateuniqueindexteaidOnteacher(identitycarddesc)go3.使用系統(tǒng)存儲過程查看索引信息通過執(zhí)行系統(tǒng)存儲過程sp_helpindex或sp_help,可以查看數據表的索引信息?;菊Z法如下:
[EXEC]{sp_helpindex|sp_help}table_name【例4-11】查看表student中的索引信息。代碼如下:sp_helpindexstudentGOsp_helpindex'student'GO4.使用系統(tǒng)存儲過程更改索引名稱使用系統(tǒng)存儲過程sp_rename可以更改索引的名稱,基本語法如下:
[EXEC]sp_rename'old_table_name','new_table_name'【例4-12】將索引classbir的名稱修改為idx_class。代碼如下:
sp_rename'student.classbir','student.idx_class'GO5.使用T-SQL語句刪除索引當不再需要某個索引時,要及時把索引從數據庫中刪除掉。對因為設置PRIMARYKEY約束或UNIQUE約束時由系統(tǒng)創(chuàng)建的索引,可以通過刪除約束的方法刪除索引;對于用戶手工創(chuàng)建的其他索引,可以使用DROPINDEX語句刪除,基本語法如下:
DROPINDEXtable_name.index_name[,…n]【例4-13】將表teacher中的索引teaid刪除。代碼如下:DROPINDEXteacher.teaidGO本次課講解了數據的增刪改的操作與索引的相關操作??偨Y作業(yè):字段名數據類型字段說明其他AU_IDint作者ID號主鍵AU_NAMEvarchar(80)作者姓名
AU_CITYvarchar(20)作者所在城市
TELvarchar(20)作者電話號碼
假設有三張表:TITLES表、AUTHORS表和PUBLISHERS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自然保護區(qū)動遷協(xié)議書
- 羊委托養(yǎng)殖協(xié)議書
- 高端餐廳食材冷藏展示企業(yè)制定與實施新質生產力項目商業(yè)計劃書
- 生物材料生產行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 智能資產配置顧問系統(tǒng)企業(yè)制定與實施新質生產力項目商業(yè)計劃書
- 電子晶須增強材料企業(yè)制定與實施新質生產力項目商業(yè)計劃書
- 互聯(lián)網金融AI應用企業(yè)制定與實施新質生產力項目商業(yè)計劃書
- 高空作業(yè)維修機器人行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 高效能戶外泛光照明企業(yè)制定與實施新質生產力項目商業(yè)計劃書
- 電子環(huán)??山到獠牧掀髽I(yè)制定與實施新質生產力項目商業(yè)計劃書
- GB/T 28583-2025供電服務規(guī)范
- 設備故障應急維修預案
- 四川西華師范大學招聘輔導員考試真題2024
- 貴州游船傾覆防災減災安全教育時事熱點
- 公務員法律考試題及答案
- 黑龍江省大慶市石油高級中學2024-2025學年高二上學期期末語文試題 含解析
- 呼吸性酸中毒試題及答案
- 基于深度學習的手術機器人在后交叉韌帶斷裂中的導航優(yōu)化-洞察闡釋
- 檢察院相關試題及答案
- 安全生產管理機制
- 遴選公務員筆試真題及答案
評論
0/150
提交評論