書名: SQL Server 2016 數(shù)據(jù)庫教程(第4版)作者名: 鄭阿奇 劉啟芬 顧韻華主編本章字?jǐn)?shù): 1677字更新時間: 2019-12-20 19:40:46
3.2 界面方式創(chuàng)建表結(jié)構(gòu)
數(shù)據(jù)庫創(chuàng)建后,首先創(chuàng)建表結(jié)構(gòu);已經(jīng)創(chuàng)建的表結(jié)構(gòu)可以修改;不再使用的表可以刪除。
3.2.1 創(chuàng)建表結(jié)構(gòu)
例如,通過“對象資源管理器”創(chuàng)建表xsb,步驟如下。
(1)啟動“SSMS”,在“對象資源管理器”中展開“數(shù)據(jù)庫”,右鍵單擊“xscj”數(shù)據(jù)庫菜單下的“表”選項,在彈出的快捷菜單中選擇“新建表”菜單項,系統(tǒng)打開“表設(shè)計器”窗口。
在右邊表“屬性”頁中顯示數(shù)據(jù)庫名稱為“xscj”,用戶修改(表名稱)為“xsb”。
(2)在“表設(shè)計器”窗口中,根據(jù)附錄已經(jīng)設(shè)計好的xsb的表結(jié)構(gòu)分別輸入或選擇各列的名稱、數(shù)據(jù)類型、是否允許為空值等屬性。
刪除“學(xué)號”和“姓名”字段“允許Null值”,使其不能為空。
(3)根據(jù)需要,可以在“列屬性”選項卡中填入相應(yīng)內(nèi)容。在“專業(yè)”字段的“默認(rèn)值或綁定”中輸入“計算機”;相應(yīng)的性別字段“默認(rèn)值或綁定”設(shè)置為1;在總學(xué)分字段“默認(rèn)值或綁定”設(shè)置為0。
在“說明”項中分別填寫有關(guān)字段的說明信息。
(4)在“學(xué)號”列上單擊鼠標(biāo)右鍵,選擇“設(shè)置主鍵”菜單項,選擇“設(shè)為主鍵”選項,該字段前就會顯示小鑰匙圖標(biāo)。
學(xué)生情況表(xsb)設(shè)計后的結(jié)果如圖3.1所示,單擊“”保存圖標(biāo)保存設(shè)計表結(jié)構(gòu)。

圖3.1 “表設(shè)計器”窗口
使用同樣的方法創(chuàng)建課程表,表格名稱為kcb;創(chuàng)建成績表,名稱為cjb。
說明
在創(chuàng)建表時,如果主鍵由兩個或兩個以上的列組成(例如,課程表的主鍵為學(xué)號列和課程號列),在設(shè)置主鍵時,則需要在按住“Ctrl”鍵的同時選擇多個列,然后右鍵單擊選擇“設(shè)置主鍵”菜單項,將多個列設(shè)置為表的主鍵。
3.2.2 修改表結(jié)構(gòu)
在創(chuàng)建了一個表之后,使用過程中可能需要對表結(jié)構(gòu)進(jìn)行修改。默認(rèn)情況下,SQL Server用戶不能通過界面方式修改表的結(jié)構(gòu)。而需要先刪除原來的表,再重新創(chuàng)建新表。如果需要通過界面方式修改表,在“SSMS”的面板中單擊“工具”主菜單,選擇“選項”子菜單,在出現(xiàn)的“選項”對話框中選擇“設(shè)計器”,刪去“阻止保存要求重新創(chuàng)建表的更改”復(fù)選框前的勾選。
1. 更改表名
在“對象資源管理器”中選擇需要更名的表,單擊鼠標(biāo)右鍵,在彈出的快捷菜單上選擇“重命名”菜單項,輸入新的表名后確定。
注意
SQL Server雖然允許改變一個表的名字,但當(dāng)表名改變后,與此相關(guān)的某些對象(如視圖),以及通過表名與表相關(guān)的存儲過程將無效。
2. 修改表結(jié)構(gòu)
修改表結(jié)構(gòu)包括增加列、刪除列、修改已有列的屬性(列名、數(shù)據(jù)類型、是否為空值等)。
在“對象資源管理器”中展開“數(shù)據(jù)庫”,在選擇的數(shù)據(jù)庫中選擇修改表,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“設(shè)計”菜單項,打開“表設(shè)計器”窗口。系統(tǒng)列出已經(jīng)存在的表結(jié)構(gòu),用戶就像界面設(shè)計表結(jié)構(gòu)一樣修改表結(jié)構(gòu)。
如果要在某列之前加入新列,則可以右鍵單擊該列,選擇“插入列”,在空白行中填寫列信息即可。如果要刪除某列,則可以右鍵單擊該列,選擇“刪除列”。修改完畢后,關(guān)閉該窗口,此時將彈出一個“保存更改”對話框,單擊“是”按鈕,保存修改后的表。
注意
在SQL Server中,被刪除的列是不可恢復(fù)的,所以在刪除某一列之前需要慎重考慮。并且,在刪除一個列以前,必須保證基于該列的所有索引和約束都已刪除。
改變列的數(shù)據(jù)類型時,要求滿足下列條件:
(1)原數(shù)據(jù)類型必須能夠轉(zhuǎn)換為新數(shù)據(jù)類型;
(2)新數(shù)據(jù)類型不能為timestamp類型;
(3)如果被修改列屬性中有“標(biāo)識規(guī)范”屬性,則新數(shù)據(jù)類型必須是有效的“標(biāo)識規(guī)范”數(shù)據(jù)類型。
注意
表中尚未有記錄值時,可以修改表結(jié)構(gòu),如更改列名、列的數(shù)據(jù)類型、長度和是否允許空值等屬性;但當(dāng)表中有了記錄后,建議不要輕易改變表結(jié)構(gòu),特別不要改變數(shù)據(jù)類型,以免產(chǎn)生錯誤。
在修改列的數(shù)據(jù)類型時,如果列中存在列值,可能會彈出警告框,要確認(rèn)修改單擊“是”按鈕,但是此操作可能會導(dǎo)致一些數(shù)據(jù)永久丟失,請謹(jǐn)慎使用。
另外,具有某些特性(具體參考有關(guān)文檔)的列不能修改。
3.2.3 刪除表
在“對象資源管理器”中展開“數(shù)據(jù)庫”→選擇數(shù)據(jù)庫→選擇表,單擊鼠標(biāo)右鍵,在彈出的快捷菜單上選擇“刪除”菜單項。系統(tǒng)彈出“刪除對象”窗口。單擊“確定”按鈕即可刪除指定表。
注意
(1)刪除一個表時,該表的定義、表中的所有數(shù)據(jù),以及表的索引、觸發(fā)器、約束等均被刪除。
(2)不能刪除系統(tǒng)表和外鍵約束所參照的表。
- 公有云容器化指南:騰訊云TKE實戰(zhàn)與應(yīng)用
- Hands-On Data Structures and Algorithms with Rust
- PyTorch深度學(xué)習(xí)實戰(zhàn):從新手小白到數(shù)據(jù)科學(xué)家
- DB29forLinux,UNIX,Windows數(shù)據(jù)庫管理認(rèn)證指南
- Learning JavaScriptMVC
- R數(shù)據(jù)科學(xué)實戰(zhàn):工具詳解與案例分析(鮮讀版)
- 算法與數(shù)據(jù)中臺:基于Google、Facebook與微博實踐
- 區(qū)塊鏈通俗讀本
- Sybase數(shù)據(jù)庫在UNIX、Windows上的實施和管理
- 軟件成本度量國家標(biāo)準(zhǔn)實施指南:理論、方法與實踐
- Scratch 3.0 藝術(shù)進(jìn)階
- AI時代的數(shù)據(jù)價值創(chuàng)造:從數(shù)據(jù)底座到大模型應(yīng)用落地
- 從實踐中學(xué)習(xí)sqlmap數(shù)據(jù)庫注入測試
- 數(shù)據(jù)庫與數(shù)據(jù)處理:Access 2010實現(xiàn)
- 計算機視覺