《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項(xiàng)目3、4 操作數(shù)據(jù)表;管理數(shù)據(jù)庫_第1頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項(xiàng)目3、4 操作數(shù)據(jù)表;管理數(shù)據(jù)庫_第2頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項(xiàng)目3、4 操作數(shù)據(jù)表;管理數(shù)據(jù)庫_第3頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項(xiàng)目3、4 操作數(shù)據(jù)表;管理數(shù)據(jù)庫_第4頁
《SQL Server數(shù)據(jù)庫應(yīng)用》課件 項(xiàng)目3、4 操作數(shù)據(jù)表;管理數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目三操作數(shù)據(jù)表116任務(wù)1通過SSMS窗口操作數(shù)據(jù)表任務(wù)2插入數(shù)據(jù)

任務(wù)3修改和刪除數(shù)據(jù)117通過SSMS窗口操作數(shù)據(jù)表任務(wù)1

118能通過SSMS窗口插入、修改、刪除數(shù)據(jù)。119在前面的任務(wù)中,已經(jīng)創(chuàng)建了學(xué)生表student,并且設(shè)置了約束。本任務(wù)要求錄入新生的相關(guān)信息。120可以使用SSMS窗口向?qū)W生表student插入一條記錄,記錄為“學(xué)號(hào):2022010901,姓名:李十雨,性別:女,年齡:18,系別:創(chuàng)意服務(wù)系”。再插入一條記錄“學(xué)號(hào):2022010902,姓名:沈十一,性別:女

,年齡:17”,再修改其系別為“創(chuàng)意服務(wù)系”。插入記錄后,要求刪除學(xué)生表student中姓名為“沈十一”的記錄。學(xué)生表的記錄如圖所示。121學(xué)生表的記錄一、通過SSMS窗口插入數(shù)據(jù)插入記錄是將新記錄添加在表尾,可在表中插入多條記錄,也可以邊插入邊修改。如果某列不允許為空,那么必須輸入值。連接到服務(wù)器后,展開已經(jīng)建立的數(shù)據(jù)庫ssts,再展開表結(jié)點(diǎn),右擊學(xué)生表student,在彈出的快捷菜單中,選擇“編輯前200行”選項(xiàng),如圖所示。122選擇“編輯前200行”選項(xiàng)將光標(biāo)定位在表格中,逐行逐列輸入數(shù)據(jù)信息。在各個(gè)字段下輸入所有學(xué)生的信息內(nèi)容,如果輸入錯(cuò)誤,可以直接修改。編輯學(xué)生表student,如圖所示,學(xué)號(hào)的數(shù)據(jù)類型為char(10),若輸入“xxgc20220401”,則超過了10位,會(huì)提示“未更新任何行”,需要截?cái)鄶?shù)據(jù),所以在輸入學(xué)號(hào)時(shí)要考慮數(shù)據(jù)類型。123124編輯學(xué)生表student二、通過SSMS窗口修改數(shù)據(jù)如果輸入的某條記錄有錯(cuò)誤,可以進(jìn)行修改。將插入點(diǎn)定位到要修改的地方,直接修改即可。在修改數(shù)據(jù)時(shí),應(yīng)注意數(shù)據(jù)類型、長(zhǎng)度、約束等要符合要求,否則修改可能不成功。若要修改學(xué)生表student中的數(shù)據(jù),在連接到服務(wù)器后,展開已經(jīng)建立的數(shù)據(jù)庫ssts,再展開表結(jié)點(diǎn),右擊學(xué)生表student,在彈出的快捷菜單中,選擇“編輯前200行”選項(xiàng),將插入點(diǎn)定位到要修改的位置,直接修改即可。125三、通過SSMS窗口刪除數(shù)據(jù)將光標(biāo)定位在表格中,可以直接刪除數(shù)據(jù)信息。在插入、修改、刪除數(shù)據(jù)后,單擊工具欄上的“保存”按鈕,保存操作結(jié)果。126

選擇“刪除”選項(xiàng)插入數(shù)據(jù)任務(wù)21271.?能使用INSERT?INTO?VALUES語句向表中插入一條或多條記錄。2.?能使用INSERT?SELECT語句,將子查詢結(jié)果插入表中。3.?能使用SELECT?INTO語句創(chuàng)建新表。128新學(xué)期開始,教務(wù)處要輸入信息工程系和電氣工程系新生的信息,要求清空數(shù)據(jù)庫ssts中學(xué)生表student的所有記錄,存儲(chǔ)新生的信息,但表結(jié)構(gòu)不變。新生信息表見下表,課程表見下表。129130

新生信息表

課程表學(xué)期結(jié)束,學(xué)生選修課成績(jī)表見下表。3張表之間的關(guān)系是學(xué)生選修課成績(jī)表中的學(xué)號(hào)來源于新生信息表中的學(xué)號(hào),成績(jī)表中的課程號(hào)來源于課程表中的課程號(hào)。131學(xué)生選修課成績(jī)表教務(wù)處為了評(píng)定獎(jiǎng)學(xué)金,要求單獨(dú)創(chuàng)建一張表sc90,用于存放90分以上的學(xué)生成績(jī);還要得到一張所有學(xué)生選課的成績(jī)表,學(xué)生課程成績(jī)表studentCourseScore如圖所示??梢允褂肐NSERTINTOVALUES語句向?qū)W生表student和課程表course中插入記錄。

使用SELECTINTO語句創(chuàng)建sc90表,

用于存放90分以上的學(xué)生成績(jī);使用INSERTSELECT語句插入查詢結(jié)果到sc90表中;使用SELECTINTO語句創(chuàng)建學(xué)生課程成績(jī)表studentCourseScore。132學(xué)生課程成績(jī)表studentCourseScore一、CRUD操作CRUD是一個(gè)數(shù)據(jù)庫技術(shù)的縮寫詞,表示對(duì)數(shù)據(jù)的創(chuàng)建(create)、讀?。╮ead)、更新(update)和刪除(delete)操作,這些操作屬于處理數(shù)據(jù)的基本原子操作。原子操作是不可分割的,表示這種操作一旦開始,就會(huì)一直運(yùn)行到結(jié)束,中間不會(huì)被任何其他任務(wù)或事件中斷,不會(huì)切換到另一個(gè)線程。133二、INSERT語句INSERT語句用于向數(shù)據(jù)表或視圖中添加數(shù)據(jù),INSERT語句的語法格式如下。INSERT語句將VALUES子句中的值按照INTO子句中指定列名的順序插入表中。其中,table_or_view是指要插入新記錄的表名或視圖名;column_list是可選項(xiàng),指定待添加數(shù)據(jù)的字段列名,要用圓括號(hào)將所有的字段列名括起來,列與列之間用逗號(hào)分隔;VALUES子句指定待添加數(shù)據(jù)的具體值。列名的排列順序不一定要與表定義時(shí)的順序一致。134在進(jìn)行數(shù)據(jù)插入操作時(shí),需注意以下幾點(diǎn)。1.在VALUES子句中,必須用英文狀態(tài)下的逗號(hào)將各個(gè)數(shù)據(jù)分開,字符型數(shù)據(jù)和日期類型數(shù)據(jù)要用英文狀態(tài)下的單引號(hào)引起來,數(shù)值型數(shù)據(jù)不需要加單引號(hào)。2.有時(shí)并不需要向表中插入完整的行,而需要將數(shù)據(jù)只插入到幾個(gè)指定的字段內(nèi),在表名后加上字段列表,且VALUES子句中值的排列順序要與表中各屬性列的排列順序一致。1353.在列屬性為IDENTITY的字段上,插入數(shù)據(jù)可分為兩種情況:若插入顯示值,則必須指定字段和值,而且SETIDENTITY_INSERT選項(xiàng)為ON;若不插入顯示值,可以不必指定字段和值,系統(tǒng)自動(dòng)根據(jù)seed和increment值計(jì)算得到。4.在設(shè)有默認(rèn)值字段上添加數(shù)據(jù)時(shí),可以使用列的默認(rèn)值,字段值可以不寫到T-SQL語句中。5.對(duì)于INTO子句中沒有出現(xiàn)的列,插入的新記錄在這些列上字段可能為空,可能會(huì)被設(shè)置為默認(rèn)值。但在表定義時(shí),有NOTNULL約束的屬性列不能取空值,必須要插入值。136三、SELECTINTO復(fù)制數(shù)據(jù)表如果要復(fù)制其他數(shù)據(jù)庫中的數(shù)據(jù)表到數(shù)據(jù)庫ssts中,表名tableName不變,表格的設(shè)計(jì)結(jié)構(gòu)和內(nèi)容全部復(fù)制,假定數(shù)據(jù)庫的名稱為databaseName。注意,寫法為“數(shù)據(jù)庫名.dbo.表名”。若只復(fù)制表格的設(shè)計(jì)結(jié)構(gòu),而不復(fù)制內(nèi)容,可在上述語句基礎(chǔ)上加上不成立的條件即可。137

修改和刪除數(shù)據(jù)任務(wù)3

1381.?能使用UPDATE?SET語句修改記錄,對(duì)符合條件的數(shù)據(jù)進(jìn)行修改。2.?能使用DELETE語句刪除數(shù)據(jù)表中符合條件的數(shù)據(jù)。3.?能使用TRUNCATE?TABLE語句快速刪除數(shù)據(jù)。4.?能使用DROP?TABLE語句刪除表。139一年過去了,同學(xué)們的年齡也增長(zhǎng)了1歲,需要在學(xué)生表student中將所有學(xué)生的年齡增加1歲。將“信息工程系”更名為“電子信息系”,需要對(duì)學(xué)生表student中系別dept做相應(yīng)的更改,修改后的學(xué)生表student如圖所示。接到教務(wù)處通知,需要?jiǎng)h除數(shù)據(jù)表studentCourseScore中姓名為“劉莉”的全部記錄。一段時(shí)間后學(xué)生成績(jī)有了新的樣式表格,發(fā)現(xiàn)studentCourseScore過于簡(jiǎn)單,需要?jiǎng)h除studentCourseScore表,包括刪除數(shù)據(jù)和結(jié)構(gòu)的全部信息。140修改后的學(xué)生表student一、UPDATE語句UPDATE語句用于修改數(shù)據(jù)表或視圖中特定記錄或字段的數(shù)據(jù),其語法格式如下。141其中,table_or_view是指要修改的表或視圖;SET子句給出要修改的列及其修改后的值,column為要修改的列名,expression為其修改后的值;WHERE子句用于指定待修改的記錄應(yīng)滿足的條件,WHERE子句省略時(shí),則修改表中的所有記錄。1421431.?修改所有記錄ROUND函數(shù)返回一個(gè)數(shù)值,該值是按照指定的小數(shù)位數(shù)進(jìn)行四舍五入運(yùn)算的結(jié)果。CAST函數(shù)用于將某種數(shù)據(jù)類型的顯式表達(dá)式轉(zhuǎn)換為另一種數(shù)據(jù)類型。2.?修改符合條件的記錄修改符合條件的記錄,一般使用“UPDATE…SETWHERE…”語句。二、DELETE語句DELETE語句用于刪除數(shù)據(jù)表或視圖中一行或多行數(shù)據(jù),其語法格式如下。其中,table_or_view是指要修改的表或視圖;WHERE子句用于指定待刪除的記錄應(yīng)滿足的條件,WHERE子句省略時(shí),則刪除表中的所有記錄。1441451.?刪除所有記錄(1)沒有WHERE的DELETE語句【例】將學(xué)生成績(jī)表studentScore的記錄全部刪除。(2)使用TRUNCATETABLE刪除表數(shù)據(jù)使用TRUNCATE刪除表中所有的行,與沒有WHERE的DELETE語句類似,但TRUNCATE速度更快。1462.?刪除指定記錄【例】刪除學(xué)生表student中的姓名為“劉美”的記錄。三、使用DROPTABLE刪除表sc90表的結(jié)構(gòu)和數(shù)據(jù)將被全部刪除。147項(xiàng)目四管理數(shù)據(jù)庫148任務(wù)1導(dǎo)入與導(dǎo)出數(shù)據(jù)表任務(wù)2分離與附加數(shù)據(jù)庫任務(wù)3備份與還原數(shù)據(jù)庫149導(dǎo)入與導(dǎo)出數(shù)據(jù)表任務(wù)1

1501.?能導(dǎo)入Access數(shù)據(jù)庫中的數(shù)據(jù)表。2.?能導(dǎo)入其他類型的數(shù)據(jù)源。3.?能導(dǎo)出SQL?Server數(shù)據(jù)庫中的數(shù)據(jù)表,并導(dǎo)出為Excel文件。4.?能導(dǎo)出為其他類型的數(shù)據(jù)源,并驗(yàn)證導(dǎo)出結(jié)果。151本任務(wù)要求刪除數(shù)據(jù)庫ssts中舊的users表,將已有的Access數(shù)據(jù)庫中的books表和user表導(dǎo)入數(shù)據(jù)庫ssts中,然后再將數(shù)據(jù)庫ssts中的student和course兩張表導(dǎo)出為Excel格式文件。可以使用SQLServer導(dǎo)入和導(dǎo)出向?qū)瓿缮鲜鰞身?xiàng)操作,導(dǎo)入和導(dǎo)出的結(jié)果如圖所示。152153導(dǎo)入和導(dǎo)出的結(jié)果一、Access數(shù)據(jù)源MicrosoftAccess數(shù)據(jù)源版本較多,選擇最新安裝的版本,或與創(chuàng)建數(shù)據(jù)庫文件的Access版本相對(duì)應(yīng)的版本,Access數(shù)據(jù)源與Office版本的對(duì)應(yīng)關(guān)系見下表。在SQLServer中,數(shù)據(jù)庫文件的后綴名為mdf;2003版本的Access數(shù)據(jù)庫文件的后綴名為mdb,2007版本以后的Access數(shù)據(jù)庫文件的后綴名為accdb;2003版本的Excel文件的后綴名為xls,2007版本以后的Excel文件的后綴名為xlsx。154155Access數(shù)據(jù)源與Office版本的對(duì)應(yīng)關(guān)系如果尚未安裝MicrosoftOffice數(shù)據(jù)源(包括Access和Excel)的連接組件,需要下載并完成安裝。Excel也是Office軟件之一,Excel2013數(shù)據(jù)源的引擎與Access2013一致,Excel2016數(shù)據(jù)源的引擎與Access2016一致。二、使用SQLServer導(dǎo)入和導(dǎo)出向?qū)У臄?shù)據(jù)源使用SQLServer可以導(dǎo)入和導(dǎo)出的數(shù)據(jù)源,包括SQLServer、Oracle、平面文件(文本文件)、Excel、Access、AzureBlobStorage、ODBC、PostgreSQL、MySQL等。1561.?首行包含列名稱首行包含列名稱是指數(shù)據(jù)的首行是否包含列名稱。(1)如果數(shù)據(jù)不包含列名稱,但啟用了此選項(xiàng),那么向?qū)?huì)將源數(shù)據(jù)的首行作為列名稱。(2)如果數(shù)據(jù)包含列名稱,但禁用了此選項(xiàng),那么向?qū)?huì)將列名稱一行作為數(shù)據(jù)的首行。(3)如果指定數(shù)據(jù)不具有列名稱,那么向?qū)?huì)使用F1、F2等作為列名稱。1572.“選擇源表和視圖頁”上的操作(1)通過選擇“編輯映射”選項(xiàng)可以查看源和目標(biāo)之間的列映射。(2)通過選擇“預(yù)覽”選項(xiàng)可以預(yù)覽示例數(shù)據(jù)以確認(rèn)是否需要。158三、導(dǎo)出為Excel1.要使用“工作表”或“命名區(qū)域”,在“選擇源表和視圖”頁的“目標(biāo)”列中,選擇目標(biāo)工作表和命名區(qū)域。2.要使用其地址指定的“未命名區(qū)域”,在“選擇源表和視圖”頁的“目標(biāo)”列中輸入?yún)^(qū)域,格式如“Sheet1$A1:B5”(不含分隔符),向?qū)?huì)添加分隔符。159分離與附加數(shù)據(jù)庫任務(wù)21601.?能正確分離與附加數(shù)據(jù)庫。2.?能解決附加數(shù)據(jù)庫時(shí)出現(xiàn)的“拒絕訪問”錯(cuò)誤。161本任務(wù)要求在SSMS對(duì)象資源管理器中,連接到SQLServer數(shù)據(jù)庫引擎,附加上數(shù)據(jù)庫FlightDatabase,再將已經(jīng)附加上的數(shù)據(jù)庫重新分離出來。附加與分離的結(jié)果如圖所示。162

附加與分離的結(jié)果一、附加數(shù)據(jù)庫附加數(shù)據(jù)庫是指把已有的數(shù)據(jù)庫的數(shù)據(jù)文件(mdf文件)和日志文件(ldf文件)直接附加到當(dāng)前的數(shù)據(jù)庫服務(wù)器中。待附加的數(shù)據(jù)庫中的所有數(shù)據(jù)文件必須是可用的。如果任何數(shù)據(jù)文件的路徑不同于首次創(chuàng)建數(shù)據(jù)庫或上次附加數(shù)據(jù)庫時(shí)的路徑,那么必須指定文件的當(dāng)前路徑。163復(fù)制數(shù)據(jù)庫文件(包括數(shù)據(jù)文件和日志文件)到本機(jī)時(shí),是不能直接雙擊打開使用的,這時(shí)使用附加數(shù)據(jù)庫的方法,將其附加到當(dāng)前的數(shù)據(jù)庫服務(wù)器中,才可以正常使用。在附加數(shù)據(jù)庫的過程中,經(jīng)常出現(xiàn)如圖所示的錯(cuò)誤提示信息,其主要原因是權(quán)限不足。164錯(cuò)誤提示信息二、分離數(shù)據(jù)庫分離數(shù)據(jù)庫是指從SQLServer實(shí)例中刪除連接,但不是刪除數(shù)據(jù)庫文件,使數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件保持不變,之后就能使用這些文件將數(shù)據(jù)庫附加到任何SQLServer實(shí)例,包括分離該數(shù)據(jù)庫的服務(wù)器。165

備份與還原數(shù)據(jù)庫任務(wù)3

1661.能根據(jù)任務(wù)要求在SQLServer中創(chuàng)建備份設(shè)備。2.能描述備份數(shù)據(jù)庫的重要性,合理選擇時(shí)間和備份類型進(jìn)行備份。3.能獨(dú)立還原數(shù)據(jù)庫,并敘述完整恢復(fù)和部分恢復(fù)數(shù)據(jù)庫的方法。167現(xiàn)要求使用SSMS備份和還原數(shù)據(jù)庫,具體可分為以下2個(gè)任務(wù)。1.?創(chuàng)建一個(gè)名為“Device”的備份設(shè)備,將數(shù)據(jù)庫ssts使用完整備份方式備份到“Device”中,并查看備份結(jié)果。2.?從數(shù)據(jù)庫中還原已經(jīng)備份的數(shù)據(jù)庫文件,檢查數(shù)據(jù)庫ssts文件是否得到還原。168備份與還原的結(jié)果如圖所示。169備份與還原的結(jié)果一、數(shù)據(jù)庫的備份1.?備份的類型(1)完整備份完整備份即備份數(shù)據(jù)庫的所有數(shù)據(jù)文件、日志文件和在備份過程中發(fā)生的任何活動(dòng)(將這些活動(dòng)記錄在事務(wù)日志中,一起寫入備份設(shè)備)。差異備份、事務(wù)日志備份的恢復(fù)完全依賴于在其前面進(jìn)行的完整備份。170171(2)差異備份差異備份只備份自最近一次完整備份以來被修改的數(shù)據(jù)。(3)事務(wù)日志備份事務(wù)日志備份只備份最后一次日志備份后所有的事務(wù)日志記錄。(4)文件和文件組備份文件和文件組備份主要用于備份數(shù)據(jù)庫文件或數(shù)據(jù)庫文件組。1722.?備份的操作角色具有以下角色的成員可以進(jìn)行備份操作,也可以通過授權(quán)允許其他角色進(jìn)行數(shù)據(jù)庫備份。(1)固定的服務(wù)器角色系統(tǒng)管理員sysadmin。(2)固定的數(shù)據(jù)庫角色數(shù)據(jù)庫所有者db_owner。(3)固定的數(shù)據(jù)庫角色允許進(jìn)行數(shù)據(jù)庫備份的用戶db_backupoperator。3.?備份數(shù)據(jù)庫選項(xiàng)說明(1)“常規(guī)”選項(xiàng)卡在SSMS中,“常規(guī)”選項(xiàng)卡如圖所示。173“常規(guī)”選項(xiàng)卡(2)“介質(zhì)選項(xiàng)”選項(xiàng)卡在SSMS中,“介質(zhì)選項(xiàng)”選項(xiàng)卡如圖所示。174“介質(zhì)選項(xiàng)”選項(xiàng)卡(3)“備份選項(xiàng)”選項(xiàng)卡在SSMS中,“備份選項(xiàng)”選項(xiàng)卡如圖所示。175“備份選項(xiàng)”選項(xiàng)卡1764.?查看備份集中的數(shù)據(jù)文件和日志文件在連接到相應(yīng)的SQLServer數(shù)據(jù)庫引擎實(shí)例后,在對(duì)象資源管理器窗口中,展開數(shù)據(jù)庫目錄。“數(shù)據(jù)庫屬性”對(duì)話框二、數(shù)據(jù)庫的還原數(shù)據(jù)庫的還原又稱為數(shù)據(jù)庫的恢復(fù),當(dāng)數(shù)據(jù)庫發(fā)生故障時(shí),可以從一個(gè)或多個(gè)備份中還原數(shù)據(jù)庫,其有簡(jiǎn)單還原、完全還原、大容量日志還原3種模式。當(dāng)使用簡(jiǎn)單還原模式時(shí),只能還原到備份

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論