SQL Server數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)技術(shù) 第五章_第1頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)技術(shù) 第五章_第2頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)技術(shù) 第五章_第3頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)技術(shù) 第五章_第4頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)技術(shù) 第五章_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章表的創(chuàng)建與管理,知識(shí)技能目標(biāo):1熟練掌握數(shù)據(jù)表的創(chuàng)建、修改和刪除2熟練掌握表數(shù)據(jù)的插入、修改和刪除3學(xué)會(huì)數(shù)據(jù)的導(dǎo)入與導(dǎo)出,第5章表的創(chuàng)建與管理,引導(dǎo)案例:按照第2章的設(shè)計(jì),在教務(wù)管理數(shù)據(jù)庫(kù)中建立學(xué)生表、課程表、選課表、班級(jí)表、專(zhuān)業(yè)表、系部表和用戶表,實(shí)現(xiàn)教務(wù)管理數(shù)據(jù)庫(kù)的設(shè)計(jì)。本章就來(lái)介紹如何在教務(wù)管理數(shù)據(jù)庫(kù)中建立這些表,在各表中輸入數(shù)據(jù),并對(duì)這些表和數(shù)據(jù)進(jìn)行管理。,第5章表的創(chuàng)建與管理,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù)5.2用T-SQL語(yǔ)句創(chuàng)建管理表5.3用T-SQL語(yǔ)句管理表數(shù)據(jù)5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出小結(jié),5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.1創(chuàng)建表表用以存儲(chǔ)數(shù)據(jù),是數(shù)據(jù)庫(kù)中最重要的部分。用SQLServerManagementStudio創(chuàng)建表,方法如下:1)打開(kāi)SQLServerManagementStudio。2)在對(duì)象資源管理器中展開(kāi)要建表的數(shù)據(jù)庫(kù),如“教務(wù)管理數(shù)據(jù)庫(kù)”。3)在該數(shù)據(jù)庫(kù)下“表”結(jié)點(diǎn)上單擊右鍵,選擇“新建表”,如圖5.1所示。,返回目錄,返回目錄,5.1.1創(chuàng)建表,圖5.1新建表,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),返回目錄,4)在如圖5.2所示的窗口中定義表結(jié)構(gòu)。即按照事先的設(shè)計(jì)逐個(gè)定義表中的列(字段),確定各字段的名稱(chēng)(列名)、數(shù)據(jù)類(lèi)型、長(zhǎng)度、是否允許為空等。如圖5.2所示,定義的是“學(xué)生表”的結(jié)構(gòu)。,5.1.1創(chuàng)建表,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),返回目錄,5.1.1創(chuàng)建表,圖5.2定義表結(jié)構(gòu),5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),返回目錄,5.1.1創(chuàng)建表5)完成表結(jié)構(gòu)定義后,單擊工具欄上的“保存”圖標(biāo)或選擇菜單“文件”下的“保存”項(xiàng),保存新建的表。6)在出現(xiàn)的“選擇名稱(chēng)”對(duì)話框中輸入表的名稱(chēng),如“學(xué)生表”,如圖5.3所示。單擊“確定”按鈕,完成表的創(chuàng)建。,圖5.3輸入表名稱(chēng),5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.1創(chuàng)建表需要說(shuō)明:1)表中的列名必須唯一,但同一列名可以在數(shù)據(jù)庫(kù)中不同的表中使用。2)表名最大128個(gè)字符,要符合標(biāo)識(shí)符命名規(guī)則。3)每個(gè)表最多可包含1024列。4)列的長(zhǎng)度必須在8000字節(jié)內(nèi)。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.2修改表結(jié)構(gòu)數(shù)據(jù)表建立后,如果需要,可以對(duì)表的結(jié)構(gòu)進(jìn)行修改。修改表結(jié)構(gòu)的操作有:增加新列對(duì)現(xiàn)有列的屬性進(jìn)行修改,包括對(duì)列名、數(shù)據(jù)類(lèi)型、列長(zhǎng)度、精度進(jìn)行修改刪除列用SQLServerManagementStudio可以非常直觀地修改數(shù)據(jù)表結(jié)構(gòu),方法如下:1)打開(kāi)SQLServerManagementStudio。2)在對(duì)象資源管理器中展開(kāi)要修改的表所在的數(shù)據(jù)庫(kù),如“教務(wù)管理數(shù)據(jù)庫(kù)”。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.2修改表結(jié)構(gòu)3)展開(kāi)“表”結(jié)點(diǎn),在“學(xué)生表”上單擊右鍵,選擇“修改”,則進(jìn)入圖5.2所示的窗口。4)修改表結(jié)構(gòu)。可以直接將光標(biāo)移動(dòng)到要修改的列上進(jìn)行列名、類(lèi)型和長(zhǎng)度的修改;若要增加新列,先選擇新增列的位置,然后單擊鼠標(biāo)右鍵,選擇“插入列”命令,這時(shí)在該位置上方出現(xiàn)一個(gè)空行,在這個(gè)空行中定義新列即可;選中要?jiǎng)h除列,單擊右鍵選擇“刪除列”則可以把列刪除。5)修改完畢后單擊“保存”按扭。修改表結(jié)構(gòu),也可以在對(duì)象資源管理器中展開(kāi)要修改的表,在列上單擊右鍵,選擇“新建列”可添加新列;在某列上單擊右鍵,選擇“修改”則可以修改列;選擇“刪除”則直接把該列刪除;選擇“重命名”,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.2修改表結(jié)構(gòu)可以修改列名。如圖5.4所示。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.3刪除表當(dāng)表不需要時(shí)可以將表刪除。刪除表后,該表的結(jié)構(gòu)定義、約束、數(shù)據(jù)以及和表相關(guān)的數(shù)據(jù)庫(kù)對(duì)象,例如索引、觸發(fā)器、授權(quán)都從數(shù)據(jù)庫(kù)中永久刪除。用SQLServerManagementStudio刪除表,方法如下:1)打開(kāi)SQLServerManagementStudio。2)在對(duì)象資源管理器中展開(kāi)要?jiǎng)h除的表所在的數(shù)據(jù)庫(kù),如“教務(wù)管理數(shù)據(jù)庫(kù)”。3)展開(kāi)“表”結(jié)點(diǎn),在要?jiǎng)h除的表上單擊右鍵,選擇“刪除”,則出現(xiàn)刪除對(duì)象對(duì)話框,如圖5.5所示。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.3刪除表,圖5.5刪除表,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.3刪除表4)在“刪除對(duì)象”對(duì)話框中單擊“確定”按鈕。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.4插入、修改、刪除表中數(shù)據(jù)表用以存儲(chǔ)數(shù)據(jù),當(dāng)表創(chuàng)建好后,就可以在表中輸入數(shù)據(jù)。表中數(shù)據(jù)經(jīng)常需要更新,包括插入、修改和刪除數(shù)據(jù)。例如學(xué)生選課,學(xué)習(xí)結(jié)束后需要錄入考試成績(jī);如果學(xué)生信息改變,需要更新現(xiàn)有記錄;如果學(xué)生退學(xué)了,則需要?jiǎng)h除這個(gè)學(xué)生的信息。用SQLServerManagementStudio插入、修改、刪除表數(shù)據(jù),方法如下:1)打開(kāi)SQLServerManagementStudio。2)在對(duì)象資源管理器中展開(kāi)數(shù)據(jù)庫(kù),如“教務(wù)管理數(shù)據(jù)庫(kù)”。3)展開(kāi)“表”節(jié)點(diǎn),右鍵單擊要操作的表,如“學(xué)生表”,選擇“打開(kāi)表”命令,如圖5.6所示。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),圖5.6打開(kāi)表,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.4插入、修改、刪除表中數(shù)據(jù),5.1.4插入、修改、刪除表中數(shù)據(jù)4)單擊“打開(kāi)表”命令后出現(xiàn)如圖5.7所示的窗口,在該窗口中可以插入、修改和刪除表中數(shù)據(jù)。例如,可將光標(biāo)移到一個(gè)新的空行上輸入新的數(shù)據(jù);也可將光標(biāo)移動(dòng)到任意行的字段上,修改數(shù)據(jù);還可將光標(biāo)移動(dòng)到任意行,選中該行單擊右鍵,選擇“刪除”,實(shí)現(xiàn)刪除行操作。SQLServe2005提供數(shù)據(jù)的自動(dòng)保存功能。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.4插入、修改、刪除表中數(shù)據(jù),圖5.7表數(shù)據(jù)操作,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.1.4插入、修改、刪除表中數(shù)據(jù)注意,在圖5.7所示的窗口中,光標(biāo)可以直接在窗口上移動(dòng),也可以通過(guò)窗口左下角的記錄移動(dòng)按鈕移動(dòng),按鈕可實(shí)現(xiàn)將光標(biāo)移動(dòng)到第一條,前一條,后一條,最后一條,如果知道記錄所在的行,也可以直接輸入數(shù)字,移動(dòng)指定的記錄行上。,返回目錄,5.1用SSMS創(chuàng)建表和管理表及表數(shù)據(jù),5.2用T-SQL語(yǔ)句創(chuàng)建管理表,表的創(chuàng)建與管理,表中數(shù)據(jù)的操作,可以使用SQLServerManagementStudio實(shí)現(xiàn),也可以用T-SQL語(yǔ)句實(shí)現(xiàn)。用T-SQL語(yǔ)句實(shí)現(xiàn)的腳本程序保存好,以后可以多次執(zhí)行,特別是可以在應(yīng)用程序開(kāi)發(fā)中,在前臺(tái)程序中運(yùn)行T-SQL命令可以操縱后臺(tái)數(shù)據(jù)庫(kù)。本章對(duì)表的操作一定要先打開(kāi)指定的數(shù)據(jù)庫(kù)“教務(wù)管理數(shù)據(jù)庫(kù)”,可以用兩種方法打開(kāi),一種是直接在窗口中工具欄上的數(shù)據(jù)庫(kù)下拉列表中選擇,另一種方法是使用命令:USE教務(wù)管理數(shù)據(jù)庫(kù)GO打開(kāi)數(shù)據(jù)庫(kù),再執(zhí)行本章所有例題的命令。,返回目錄,5.2.1創(chuàng)建表用-SQL語(yǔ)句創(chuàng)建表,需使用CREATETABLE命令。命令格式:CREATETABLE表名(列名數(shù)據(jù)類(lèi)型(長(zhǎng)度)|列名AS計(jì)算列表達(dá)式,n)【例5.1】用T-SQL語(yǔ)句在教務(wù)管理數(shù)據(jù)庫(kù)中創(chuàng)建學(xué)生表”?!纠?.2】用T-SQL語(yǔ)句在教務(wù)管理數(shù)據(jù)庫(kù)中創(chuàng)建課程表?!纠?.3】用T-SQL語(yǔ)句在教務(wù)管理數(shù)據(jù)庫(kù)中創(chuàng)建選課表。,返回目錄,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,5.2.1創(chuàng)建表【例5.1】用T-SQL語(yǔ)句在教務(wù)管理數(shù)據(jù)庫(kù)中創(chuàng)建學(xué)生表。CREATETABLE學(xué)生表(學(xué)號(hào)char(11),姓名nchar(5),性別nchar(1),出生日期datetime,政治面貌varchar(10),入學(xué)時(shí)間datetime,聯(lián)系電話char(20),班級(jí)char(5),備注varchar(200),),返回目錄,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,5.2.1創(chuàng)建表【例5.2】用T-SQL語(yǔ)句在教務(wù)管理數(shù)據(jù)庫(kù)中創(chuàng)建課程表。CREATETABLE課程表(課程號(hào)char(6),課程名varchar(20),學(xué)時(shí)tinyint,學(xué)分tinyint,課程類(lèi)型nchar(5),課程性質(zhì)nchar(2),考核方式nchar(2),學(xué)期char(1),備注varchar(200),返回目錄,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,5.2.1創(chuàng)建表【例5.3】用T-SQL語(yǔ)句在教務(wù)管理數(shù)據(jù)庫(kù)中創(chuàng)建選課表CREATETABLE選課表(學(xué)號(hào)char(11),課程號(hào)char(6),成績(jī)numeric(5,1),返回目錄,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,返回目錄,5.2.2修改表修改表包括向表中添加列、刪除列和修改表中列的定義。使用T-SQL語(yǔ)句修改表,需使用ALTERTABLE命令。1.添加列命令格式:ALTERTABLE表名ADD列名數(shù)據(jù)類(lèi)型(長(zhǎng)度),n【例5.4】用T-SQL語(yǔ)句在學(xué)生表中添加新列電子郵箱,類(lèi)型為字符型,長(zhǎng)度為20個(gè)字符,允許為空。ALTERTABLE學(xué)生表ADD電子郵箱char(20)NULL,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,返回目錄,5.2.2修改表可以一次添加多列。如果表中已有數(shù)據(jù),則新添加的列則只能是允許為空,或者設(shè)置有默認(rèn)值,或者要添加的列是標(biāo)識(shí)列或時(shí)間戳列,這是因?yàn)樽鎏砑恿胁僮鲿r(shí),SQLServer2005為表中的每個(gè)現(xiàn)有數(shù)據(jù)行插入一個(gè)值,如果不允許為空,又沒(méi)有默認(rèn)值,則返回錯(cuò)誤,添加失敗,如果允許為空,則將空值插入該列。2.修改列屬性命令格式:ALTERTABLE表名ALTERCOLUMN列名數(shù)據(jù)類(lèi)型(長(zhǎng)度),5.2用T-SQL語(yǔ)句創(chuàng)建管理表,返回目錄,5.2.2修改表【例5.5】修改學(xué)生表的列電子郵箱數(shù)據(jù)類(lèi)型為可變長(zhǎng)度的字符類(lèi)型,長(zhǎng)度為22。ALTERTABLE學(xué)生表ALTERCOLUMN電子郵箱varchar(22)3.刪除列命令格式:ALTERTABLE表名DROPCOLUMN列名,n【例5.6】刪除學(xué)生表的電子郵箱列ALTERTABLE學(xué)生表DROPCOLUMN電子郵箱可以一次刪除多列。,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,5.2.3表更名如果需要可以重命名表名。需要用到系統(tǒng)存儲(chǔ)過(guò)程SP_RENAME,這個(gè)過(guò)程可以重命名任何數(shù)據(jù)庫(kù)對(duì)象,例如表,視圖,存儲(chǔ)過(guò)程或函數(shù)?;菊Z(yǔ)法:SP_RENAME舊對(duì)象名,新對(duì)象名【例5.7】將課程表更名為課程信息表。SP_RENAME課程表,課程信息表,返回目錄,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,返回目錄,5.2.4刪除表使用T-SQL語(yǔ)句刪除表,需使用DROPTABLE命令。命令格式:DROPTABLE表名,n一次可以同時(shí)刪除多個(gè)表?!纠?.8】將課程信息表刪除DROPTABLE課程信息表,5.2用T-SQL語(yǔ)句創(chuàng)建管理表,5.3.1插入數(shù)據(jù)在SQLServer中插入數(shù)據(jù)只能一行一行插入,不能同時(shí)插入多行。使用T-SQL語(yǔ)句向表中插入數(shù)據(jù),需使用INSERT命令。命令格式:INSERTINTO表名(列名,)VALUES(值,)說(shuō)明:(列名,)是可選項(xiàng),如果插入的數(shù)據(jù)是部分列,或插入列與表定義的順序不一致時(shí),可以選擇它。如果不選擇這項(xiàng),表示要插入的數(shù)據(jù)包含所有列。VALUES中的值也可以是可計(jì)算出值的表達(dá)式。,返回目錄,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),5.3.1插入數(shù)據(jù)向表中插入行時(shí)要注意:數(shù)據(jù)值的數(shù)量和順序必須與字段名列表中的數(shù)量和順序一樣。值的數(shù)據(jù)類(lèi)型必須與表的列中的數(shù)據(jù)類(lèi)型匹配,否則插入失敗。值如果是采用默認(rèn)值寫(xiě)DEFAULT,如果是空值寫(xiě)NULL。不需要包含帶有IDENTITY屬性的列。插入數(shù)據(jù)類(lèi)型如果是字符型、日期型必須要用單引號(hào)引住,日期型注意輸入格式,中文版SQLServer是yyyy-mm-dd。如果插入數(shù)據(jù)是數(shù)值型,則不必用引號(hào)。,返回目錄,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),5.3.1插入數(shù)據(jù)【例5.9】向?qū)W生表插入一行數(shù)據(jù)?!纠?.10】用向?qū)W生表插入一行數(shù)據(jù),目前只知道該學(xué)生學(xué)號(hào),姓名?!纠?.11】將學(xué)生表的女生單獨(dú)保存到一個(gè)女生表,返回目錄,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),返回目錄,5.3.1插入數(shù)據(jù)【例5.9】向?qū)W生表插入一行數(shù)據(jù)。INSERTINTO學(xué)生表VALUES(20080101001,李海強(qiáng),男,1988-08-05,共青團(tuán)員,2008-09-01jy081,NULL)不寫(xiě)字段列表,表示所有字段值都要書(shū)寫(xiě)。這個(gè)例題可以用下面方式實(shí)現(xiàn)INSERTINTO學(xué)生表(學(xué)號(hào),姓名,性別,出生日期,政治面貌,入學(xué)時(shí)間,聯(lián)系電話,班級(jí),備注)VALUES(20080101001,李海強(qiáng),男,1988-08-05,共青團(tuán)員,2008-09-01jy081,NULL)如果改變字段順序,值的順序也應(yīng)作相應(yīng)改變。INSERTINTO學(xué)生表(學(xué)號(hào),性別,姓名,出生日期,政治面貌,入學(xué)時(shí)間,聯(lián)系電話,班級(jí),備注)VALUES(20080101001,男,李海強(qiáng),1988-08-05,共青團(tuán)員,2008-09-01jy081,NULL),5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),返回目錄,5.3.1插入數(shù)據(jù)【例5.10】向?qū)W生表插入一行數(shù)據(jù)目前只知道該學(xué)生學(xué)號(hào),姓名。INSERTINTO學(xué)生表(學(xué)號(hào),姓名)VALUES(20080101003,李海)插入部分?jǐn)?shù)據(jù),不允許為空的列是必須插入的。當(dāng)不允許為空的列沒(méi)有指定插入數(shù)據(jù)時(shí),將返回錯(cuò)誤。不指定插入的列一定是允許為空的列或有默認(rèn)值的列。插入命令也可以實(shí)現(xiàn)將一個(gè)表中的數(shù)據(jù)插入到另一個(gè)表中。,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),返回目錄,5.3.1插入數(shù)據(jù)【例5.11】將學(xué)生表中的女生單獨(dú)保存到一個(gè)女生表。INSERTINTO女生表SELECT*FROM學(xué)生表WHERE性別=女插入操作的表必須事先創(chuàng)建好,本例先創(chuàng)建學(xué)生表結(jié)構(gòu)完全相同的女生表,再執(zhí)行此語(yǔ)句完成插入操作。SELECT子句的選擇列表必須與INSERT語(yǔ)句中的字段列表匹配,如果沒(méi)有指定字段列表,則選擇列表必須與正在其中執(zhí)行插入操作的表的列相匹配。,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),5.3.2修改數(shù)據(jù)使用T-SQL語(yǔ)句修改表中數(shù)據(jù),需使用UPDATE命令。命令格式UPDATE表名SET列名=表達(dá)式,.nWHERE說(shuō)明:可以一次更新多個(gè)字段。有條件子句,只更新滿足條件的行,否則所有行都被更新?!纠?.12】將選課表中所有學(xué)生成績(jī)均提高5分【例5.13】將課程表中數(shù)據(jù)庫(kù)技術(shù)課程的學(xué)時(shí)改為96學(xué)時(shí),學(xué)分改為3學(xué)分,返回目錄,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),返回目錄,5.3.2修改數(shù)據(jù)【例5.12】將選課表中所有學(xué)生成績(jī)均提高5分。UPDATE選課表SET成績(jī)=成績(jī)+5【例5.13】將課程表中數(shù)據(jù)庫(kù)技術(shù)課程的學(xué)時(shí)改為96學(xué)時(shí),學(xué)分改為3學(xué)分。UPDATE課程表SET學(xué)時(shí)=96,學(xué)分=3WHERE課程名=數(shù)據(jù)庫(kù)技術(shù),5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),返回目錄,5.3.3刪除數(shù)據(jù)使用T-SQL語(yǔ)句刪除表中數(shù)據(jù),需使用DELETE命令。命令格式:DELETEFROM表名WHERE說(shuō)明:有條件子句,只刪除表中滿足條件的行,否則表中所有行都被刪除?!纠?.14】刪除課程表中c程序設(shè)計(jì)課程信息?!纠?.15】刪除學(xué)生表中性別為男的學(xué)生。【例5.16】刪除學(xué)生表中所有學(xué)生信息。,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),5.3.3刪除數(shù)據(jù)【例5.14】刪除課程表中c程序設(shè)計(jì)課程信息。DELETEFROM課程表WHERE課程名=c程序設(shè)計(jì)命令執(zhí)行后刪除一行數(shù)據(jù)?!纠?.15】刪除學(xué)生表中性別為男的學(xué)生。DELETEFROM學(xué)生表WHERE性別=男命令執(zhí)行后刪除多行數(shù)據(jù)。,返回目錄,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),5.3.3刪除數(shù)據(jù)【例5.16】刪除學(xué)生表中所有學(xué)生信息。DELETEFROM學(xué)生表命令執(zhí)行后所有學(xué)生信息被刪除。刪除所有記錄也可以使用下面語(yǔ)句:TRUNCATETABLE表名使用該語(yǔ)句可實(shí)現(xiàn)快速刪除。因?yàn)門(mén)RUNCATETABLE語(yǔ)句不記錄日志,只記錄整個(gè)數(shù)據(jù)頁(yè)的釋放操作,而DELETE語(yǔ)句對(duì)每一行修改都記錄日志,所以TRUNCATETABLE語(yǔ)句比沒(méi)有指定條件的DELETE語(yǔ)句執(zhí)行得快。,返回目錄,5.3用T_SQL語(yǔ)句管理表數(shù)據(jù),5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.1數(shù)據(jù)導(dǎo)入與導(dǎo)出的意義數(shù)據(jù)導(dǎo)入導(dǎo)出是數(shù)據(jù)庫(kù)系統(tǒng)與外部進(jìn)行數(shù)據(jù)交換的操作。在實(shí)際應(yīng)用中,用戶使用的可能是不同的數(shù)據(jù)庫(kù)平臺(tái),這就需要各個(gè)數(shù)據(jù)庫(kù)平臺(tái)之間的數(shù)據(jù)能相互交流,如ORACLE、MicrosoftAccess、MicrosoftExcel等。SQLServer2005提供了數(shù)據(jù)導(dǎo)出和導(dǎo)入功能,用以實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)平臺(tái)間的數(shù)據(jù)交換。通過(guò)數(shù)據(jù)導(dǎo)入導(dǎo)出,可以把SQLServer數(shù)據(jù)表中的數(shù)據(jù)通過(guò)導(dǎo)出轉(zhuǎn)換為其他數(shù)據(jù)庫(kù)系統(tǒng)可以使用的數(shù)據(jù),也可以從這些系統(tǒng)中通過(guò)導(dǎo)入轉(zhuǎn)換數(shù)據(jù)到SQLServer數(shù)據(jù)表。,返回目錄,5.4.1數(shù)據(jù)導(dǎo)入與導(dǎo)出的意義SQLServer提供了一組用于完成大容量導(dǎo)出和導(dǎo)入操作的通用工具和命令。其中數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)是一個(gè)功能非常強(qiáng)大的組件,DTS導(dǎo)入導(dǎo)出向?qū)峁┝税褦?shù)據(jù)從一個(gè)數(shù)據(jù)源轉(zhuǎn)換到另一個(gè)目的地的最簡(jiǎn)單的方法。下面介紹如何利用DTS導(dǎo)入導(dǎo)出向?qū)?lái)實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出【例5.17】將教務(wù)管理系統(tǒng)中的學(xué)生表、課程表和選課表導(dǎo)出到MicrosoftExcel中。具體操作如下:1)在SQLServerManagementStudio界面中,右鍵單擊教務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù),在彈出的菜單中選擇“任務(wù)”,從級(jí)聯(lián)菜單中選擇“導(dǎo)出數(shù)據(jù)”,如圖5.8所示。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.8選擇導(dǎo)出數(shù)據(jù),返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.9導(dǎo)入和導(dǎo)出向?qū)g迎界面,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出2)在隨后出現(xiàn)的如圖5.9所示的導(dǎo)入導(dǎo)出向?qū)g迎界面,單擊“下一步”按鈕,出現(xiàn)如圖5.10所示的對(duì)話框。3)在圖5.10所示對(duì)話框中,從數(shù)據(jù)源下拉列表中選擇驅(qū)動(dòng)程序“MicrosoftOLEDBProviderforSQLServer”;選擇數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng),默認(rèn)為當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng),選擇身份驗(yàn)證方式,在數(shù)據(jù)庫(kù)下拉列表中選擇數(shù)據(jù)庫(kù)為要導(dǎo)出數(shù)據(jù)的數(shù)據(jù)庫(kù)“教務(wù)管理數(shù)據(jù)庫(kù)”。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.10選擇數(shù)據(jù)源對(duì)話框,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出4)單擊“下一步”按鈕,出現(xiàn)如圖5.11所示的“選擇目標(biāo)”對(duì)話框,從目標(biāo)下拉列表中選擇目標(biāo)的驅(qū)動(dòng)程序MicrosoftExcel,在Excel連接設(shè)置中選擇文件路徑和文件名(如果文件不存在,可設(shè)置一個(gè)文件名)以及Excel版本,如果導(dǎo)出的文件中希望不僅有數(shù)據(jù)還有列名,則應(yīng)選中“首行包含列名稱(chēng)”復(fù)選框。5)單擊“下一步”按鈕,出現(xiàn)如圖5.12所示“指定表復(fù)制或查詢(xún)”對(duì)話框,選擇“復(fù)制一個(gè)或多個(gè)表或視圖的數(shù)據(jù)”。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.11選擇目標(biāo)界面,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.12指定表復(fù)制或查詢(xún)界面,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出6)單擊“下一步”,出現(xiàn)如圖5.13所示的“選擇源表和源視圖”頁(yè)面,選擇要導(dǎo)出數(shù)據(jù)的表“學(xué)生表”、“課程表”、“選課表”,目標(biāo)欄自動(dòng)出現(xiàn)同名表,單擊可以修改目標(biāo)的名稱(chēng),單擊“編輯”按鈕,出現(xiàn)“列映射”對(duì)話框,如圖5.14所示。選擇默認(rèn)值“創(chuàng)建目標(biāo)表”(如果Excel表已存在,默認(rèn)值為“向目標(biāo)中追加行”),映射沒(méi)問(wèn)題后,單擊“確定”按鈕,返回到圖5.13所示界面。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.13選擇源表和源視圖界面,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.14列映射對(duì)話框,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出7)單擊“下一步”按鈕,出現(xiàn)“保存并執(zhí)行包”界面,如圖5.15所示。選中“立即執(zhí)行”復(fù)選框,單擊“下一步”按鈕,出現(xiàn)“完成該向?qū)А苯缑?,單擊“完成”按鈕,執(zhí)行導(dǎo)出任務(wù)。執(zhí)行完畢,出現(xiàn)“執(zhí)行成功”界面,單擊“關(guān)閉”按鈕,導(dǎo)出任務(wù)完成。圖5.16是導(dǎo)出的Excel文件,文件中有三個(gè)表單,分別是學(xué)生表、課程表、選課表。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.15保存并執(zhí)行包對(duì)話框,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.2SQLServer數(shù)據(jù)庫(kù)表數(shù)據(jù)導(dǎo)出,圖5.16導(dǎo)出的Excel表,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.3導(dǎo)入數(shù)據(jù)到SQLServer表中【例5.18】有一個(gè)MicrosoftAccess創(chuàng)建的數(shù)據(jù)庫(kù),如圖5.17所示,將它導(dǎo)入到SQL中名為“jiaowu”數(shù)據(jù)庫(kù)中。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.3導(dǎo)入數(shù)據(jù)到SQLServer表中,圖5.17Access數(shù)據(jù)庫(kù)data.mdb,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.3導(dǎo)入數(shù)據(jù)到SQLServer表中具體操作如下:1)在SQLServerManagementStudio界面中,右鍵單擊“jiaowu”數(shù)據(jù)庫(kù),在彈出的菜單中選擇“任務(wù)”,從級(jí)聯(lián)菜單中選擇“導(dǎo)入數(shù)據(jù)”,隨后出現(xiàn)如圖5.9所示的導(dǎo)入導(dǎo)出向?qū)g迎界面。2)單擊“下一步”按鈕,出現(xiàn)如圖5.18所示的對(duì)話框,從數(shù)據(jù)源下拉列表中選擇驅(qū)動(dòng)程序“MicrosoftAccess”,選擇文件名,可以通過(guò)“瀏覽”按鈕選擇已存在的MicrosoftAccess數(shù)據(jù)庫(kù),本例名為data.mdb。,返回目錄,5.4數(shù)據(jù)導(dǎo)入與導(dǎo)出,5.4.3導(dǎo)入數(shù)據(jù)到SQL

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論