- SQL Server 2008中文版項目教程(第3版)
- 宋曉峰 藺抗洪
- 2205字
- 2020-06-30 18:20:41
任務三 向“學生表”插入記錄
創建數據庫表的目的是為了有效地保存數據,本任務將介紹兩種向表中添加記錄的方法:圖形化的交互方式和命令方式。
● 圖形化的交互方式:在【表編輯】標簽頁中添加記錄。
● 命令方式:用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 打開查詢文件
- HTML5 移動Web開發從入門到精通(微課精編版)
- Android Development with Kotlin
- Java高手真經(高級編程卷):Java Web高級開發技術
- Scratch 3.0少兒編程與邏輯思維訓練
- 教孩子學編程:C++入門圖解
- Visual C
- Python機器學習算法與實戰
- Android底層接口與驅動開發技術詳解
- 前端HTML+CSS修煉之道(視頻同步+直播)
- JavaCAPS基礎、應用與案例
- Python之光:Python編程入門與實戰
- Modern C++ Programming Cookbook
- 從Excel到Python數據分析:Pandas、xlwings、openpyxl、Matplotlib的交互與應用
- Android Studio Cookbook
- 青少年學Python(第2冊)