- SQL Server 2008中文版項目教程(第3版)
- 宋曉峰 藺抗洪
- 1132字
- 2020-06-30 18:20:40
任務二 修改表的數據結構
在項目實施過程中,經常會遇到表結構的最初設計與實際使用存在差距的情況。如“學生表”的“籍貫”列的最大長度為10,實際使用時很可能會超過這個長度;再如,“性別”列只有0和1兩個值,用char(1)型更合適;又如,所有記錄的“學生編號”的值都是固定的4個字符,設置為char(4)比varchar(10)更節省存儲空間。因此,為了避免浪費存儲空間和保證應用程序的穩定運行,需要修改表的數據結構。類似的還有以下幾種情況。
● 向已經存在的表中增加新的列。
● 刪除表中不需要的列。
● 修改列的數據類型(包括修改字符串類型的長度)。
本任務以修改“學生表”的數據類型為例,分別介紹在【表設計】標簽頁和alter table語句中修改表結構的方法。
(一)在【表設計】標簽頁中修改表結構
讀者應通過對本節的執行,掌握在【表設計】標簽頁中修改表結構的方法。
【基礎知識】
在【表設計】標簽頁中修改表結構的操作方法與定義表屬性的操作方法完全一致。
【操作目標】
修改“學生表”的數據類型,修改內容見表3-4。
表3-4 修改“學生表”的數據結構

【操作步驟】
STEP 1 展開【SQL Server Management Studio】的【教學管理數據庫】節點,單擊子節點【表】,展開并顯示“教學管理數據庫”所擁有的系統表和用戶創建的表,如圖3-6所示。

圖3-6 顯示“教學管理數據庫”的系統表和用戶定義表
STEP 2 在【dbo.學生表】節點上單擊鼠標右鍵,在彈出的快捷菜單中單擊【設計】菜單項,打開“學生表”的【表設計】標簽頁。在列表框中按表3-4的要求修改數據類型,如圖3-7所示。

圖3-7 修改數據類型
STEP 3 單擊工具欄上的按鈕,保存對“學生表”的修改。
請讀者注意,如果表中已經存在數據,修改列的數據類型及字符串類型的長度時不能與已有的數據產生矛盾。假設“學生表”中存在一條記錄,“學生姓名”取值為“那斯魯丁·阿凡提”,長度為15個字節,如果將其數據類型改為varchar(10),將會丟失部分數據,變成“那斯魯丁·”。修改char或varchar類型的列的長度時,數字和一個英文字母占一個字節,一個漢字占兩個字節。
(二)用alter table語句修改表結構
alter table語句的參數很多,本節中只介紹幾個用于完成常用功能的參數,如修改列的數據類型、增加列、刪除列。
讀者應通過對本節的執行,掌握alter table語句的語法。
【基礎知識】
修改“學生表”中“學生編號”列的數據類型為char(4)的語法見表3-5。
表3-5 alter table語句的語法

用alter table語句修改表結構時,一次只能完成一項修改。
【操作目標】
用alter table語句修改“學生表”的數據結構,修改內容見表3-5。
【操作步驟】
STEP 1 啟動【SQL Server Management Studio】程序,將可用數據庫設置為。
STEP 2 在【SQL查詢】標簽頁中,輸入如圖3-8所示的alter table語句。
STEP 3 單擊工具欄中的按鈕,執行alter table語句,執行信息在【消息】標簽頁中提示,如圖3-8所示。

圖3-8 用alter table語句修改表結構
關于alter table語句其他參數的詳細說明,有興趣的讀者可以參考“聯機叢書”的“ALTER TABLE語句”的“Transact-SQL參考”部分。
- Designing Machine Learning Systems with Python
- 從零構建知識圖譜:技術、方法與案例
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- TypeScript入門與實戰
- Clojure for Domain:specific Languages
- The React Workshop
- Python機器學習算法與實戰
- Learning DHTMLX Suite UI
- NoSQL數據庫原理
- Mastering Git
- Android Studio開發實戰:從零基礎到App上線 (移動開發叢書)
- Python 快速入門(第3版)
- Qt 5.12實戰
- React and React Native
- Android熱門應用開發詳解