官术网_书友最值得收藏!

任務三 向“學生表”插入記錄

創建數據庫表的目的是為了有效地保存數據,本任務將介紹兩種向表中添加記錄的方法:圖形化的交互方式和命令方式。

● 圖形化的交互方式:在【表編輯】標簽頁中添加記錄。

● 命令方式:用insert語句向表中添加記錄。

(一)在【表編輯】標簽頁中插入記錄

在【表編輯】標簽頁中輸入記錄的方式與在Excel文件中輸入數據的方式很相似。

【基礎知識】

【表編輯】標簽頁包括4個窗格,每個窗格從不同的角度顯示同一個表。默認情況下只顯示【結果窗格】,單擊工具欄上對應的按鈕,可隱藏或顯示各窗格。

● 【關系窗格】:顯示數據庫中與此表存在關聯關系的其他表,單擊按鈕顯示或隱藏此窗格。

● 【條件窗格】:顯示對表中記錄的篩選條件,單擊按鈕顯示或隱藏此窗格。

● 【SQL窗格】:顯示查詢此表的查詢語句,單擊按鈕顯示或隱藏此窗格。

● 【結果窗格】:顯示此表中的全部或部分記錄,單擊按鈕顯示或隱藏此窗格。

在本節中,只使用到了【結果窗格】。

【操作目標】

在【表編輯】標簽頁的【結果窗格】中輸入表3-6所示的第1條到第9條記錄。

表3-6 “學生表”記錄

【操作步驟】

STEP 1 展開【SQL Server Management Studio】的【教學管理數據庫】節點,單擊子節點【表】,在【SQL Server Management Studio】的右半部分顯示“教學管理數據庫”所擁有的系統表和用戶創建的表。

STEP 2 在【dbo.學生表】節點上單擊鼠標右鍵,在彈出的快捷菜單中單擊【編輯前200行】菜單項,在【SQL Server Management Studio】左半部分打開表【表編輯】標簽頁。在列表框中按行、按列輸入表3-6所示內容的前9行數據,如圖3-9所示。

圖3-9 向“學生表”添加記錄

輸入記錄的同時,系統自動保存。如果輸入的數據與列的數據類型不符,則提示錯誤信息。

(二)用insert語句插入記錄

上一節向“學生表”中添加了一部分數據,在本節中使用insert語句插入其余記錄。在【表編輯器】中為表添加記錄雖然簡單,但是不適于批量插入記錄的情況,在數據庫管理和開發項目中使用最多的還是insert語句。

讀者應通過編寫、執行insert語句,理解并掌握insert語句的語法結構。

【基礎知識】

在insert語句中需要指定表名、接收數據的列名、列對應的數據。下面以向“學生表”中插入表3-6所示的第1條記錄為例,其語法見表3-7。

表3-7 insert語句的語法

【操作目標】

在【SQL Server Management Studio】的【SQL查詢】子窗口中用insert語句向“學生表”插入剩余記錄。

【操作步驟】

STEP 1 啟動【SQL Server Management Studio】程序,將可用數據庫設置為

STEP 2 在【SQL查詢】標簽頁中輸入如圖3-10所示的insert語句。

STEP 3 單擊工具欄中的按鈕,執行insert語句,執行信息在【消息】標簽頁中提示,如圖3-10所示。

圖3-10 用insert語句插入記錄

【知識鏈接一】

用圖形化的交互工具創建表、修改表、向表中插入記錄,雖然操作簡單,但是對于數據庫開發人員來說,不能只滿足于掌握此種方法,應該把學習的重點放在對T-SQL語句的理解和靈活運用上,以便能夠熟練地編寫批處理程序。

那么什么是批處理程序呢?批處理是包含一個或多個T-SQL語句的組合,SQL Server將批處理語句編譯成一個可執行單元,由客戶機一次性地發送給服務器。SQL Server服務器對批處理腳本的處理方式如圖3-11所示。

圖3-11 批處理程序執行過程

批處理語句可能存在兩種錯誤:“編譯錯誤”和“運行時錯誤”。編譯錯誤是指批處理的語句存在語法錯誤,這種錯誤將導致批處理執行單元中的全部語句無法執行。運行時錯誤是指批處理的語句不存在語法錯誤,但是在執行語句時產生內存溢出或違反約束等錯誤。運行時錯誤將導致當前語句及其后的語句終止執行。

標識一組批處理語句結束的標志是go語句。go語句和其他T-SQL語句不能處在同一行,也不能包含注釋。

簡單的批處理程序就是T-SQL中的DDL語句和DML語句,如前面操作中介紹的語句。復雜的批處理程序不僅包括這些語句,還包括常量定義語句、變量聲明語句、由if…then…else…語句構成的分支結構和由while語句構成的循環結構,以及begin transaction和commit transaction聲明事務處理的起始和結束的標志。

請注意:并不是將多行DDL和DML語句組合在一起,一次性執行就構成了批處理程序,批處理程序必須包含標志結束的go語句。例如,如圖3-8所示的操作,雖然可以將兩個alter table語句一次性執行,但是因為缺少go語句,SQL Server將兩條alter table語句編譯成兩個可執行單元,依次執行。而如圖3-10所示的操作,如果存在go語句,SQL Server首先將多個insert語句編譯成一個可執行單元,然后由服務器一次性執行。

【知識鏈接二】

構成批處理程序的T-SQL語句數量可多可少,一條T-SQL語句也可以構成一個批處理程序,可有時批處理程序的語句多達幾百行、幾千行。對于可以重復利用的批處理程序,如果每次都將語句在【SQL查詢】標簽頁中重新輸入,顯然浪費時間。SQL Server可以將批處理程序保存為擴展名為“.sql”的文本文件,再次使用時可以直接打開文件,讀取其中的語句到【SQL查詢】標簽頁中。

1.如何保存批處理程序

以保存圖3-10的批處理程序為例。在【SQL Server Management Studio】中,單擊工具欄中的按鈕,打開【另存文件為】對話框。在【保存于】下拉列表中選擇文件保存路徑,在【文件名】文本框中輸入“插入記錄.sql”,在【保存類型】下拉列表中選擇“SQL文件(*.sql)”,如圖3-12所示。單擊按鈕,保存為批處理程序。

圖3-12 保存批處理程序

2.如何打開批處理程序

以在【SQL Server Management Studio】中打開上面保存的“插入記錄.sql”文件為例。單擊【SQL Server Management Studio】工具欄上的按鈕,打開【打開文件】對話框,在【文件類型】下拉列表框中選擇“SQL Server文件(*.sql)”,如圖3-13所示。在【查詢范圍】下拉列表框中選擇“插入記錄.sql”文件所在路徑,下面的列表框中自動顯示此路徑下擴展名為“.sql”的全部文件。在文件列表框中單擊并選中“插入記錄.sql”。單擊按鈕,在【查詢】子窗口中打開文件。

圖3-13 打開查詢文件

主站蜘蛛池模板: 柏乡县| 韶山市| 淳安县| 平和县| 师宗县| 莫力| 乌拉特前旗| 寿阳县| 中牟县| 墨脱县| 陕西省| 兴城市| 彰武县| 天柱县| 剑阁县| 罗江县| 黔西| 枣强县| 台湾省| 景洪市| 金沙县| 洪雅县| 抚远县| 巨鹿县| 白山市| 山丹县| 怀集县| 清涧县| 和田市| 宜川县| 荥阳市| 泾川县| 东丽区| 麻城市| 涟水县| 雅江县| 措勤县| 大渡口区| 葫芦岛市| 许昌县| 贞丰县|