文章目錄
準備知識
默認約束指定某列的默認值。例如,男性同學較多,性別就可以默認爲‘男’。如果插入一條新的記錄時沒有爲這個字段賦值,那麼系統會自動爲這個字段賦值爲‘男’。
定義默認約束
使用SSMS工具定義默認約束
-
展開“數據庫”,然後展開相應的數據庫,再展開數據庫中的“表”,右擊需要定義默認約束的數據表,選擇“設計”。
-
進入表設計器界面,選擇需要定義默認約束的列,在下面列屬性框中的“默認值或綁定”中輸入默認值或要綁定的函數。
-
點擊保存鍵,或者按Ctrl+F5鍵進行保存。展開數據表,展開“約束”,可以看到定義的默認約束。
使用SQL方式定義默認約束
方式一:在創建數據表的時候定義默認約束
- 在SSMS工具欄中單擊“新建查詢”,打開“SQL編輯器”窗口
- 輸入創建SQL代碼
USE schoolDB --打開數據庫schoolDB
GO
IF EXISTS(SELECT * FROM sysobjects WHERE name='student')
DROP TABLE student --檢查student是否已經存在,如果存在,則刪除
GO
CREATE TABLE student --表名爲student
(
StuID int NOT NULL, --學生學號
StuName varchar(15) NOT NULL, --學生姓名
Sex char(2) DEFAULT '男', --性別
Major varchar(20) NULL, --所選專業
JoinTime datetime DEFAULT getdate() --入學時間
)
- 點擊“分析”按鈕,或按住Ctrl+F5,對SQL代碼進行語法分析,確保SQL語句語法正確。
- 點擊“執行”按鈕,或按住F5,執行SQL代碼。
- 查看數據表中的約束。
方式二:修改數據表定義默認約束
- 在SSMS工具欄中單擊“新建查詢”,打開“SQL編輯器”窗口
- 輸入創建SQL代碼
USE schoolDB --打開數據庫schoolDB
GO
ALTER TABLE student
ADD CONSTRAINT DF_student_Sex DEFAULT '男' for Sex
GO
ALTER TABLE student
ADD CONSTRAINT DF_student_JoinTime DEFAULT getdate() for JoinTime
- 點擊“分析”按鈕,或按住Ctrl+F5,對SQL代碼進行語法分析,確保SQL語句語法正確。
- 點擊“執行”按鈕,或按住F5,執行SQL代碼。
- 查看數據表中的約束。
刪除默認約束
使用SSMS工具刪除默認約束
方式一:在對象資源管理器中刪除默認約束
- 展開需要刪除默認約束的數據表,然後再展開“約束”。
- 右擊需要刪除的默認約束,選擇“刪除”。
- 在刪除對象界面,點擊“確定”,即可完成默認約束刪除。
方式二:在表設計器中刪除默認約束
-
右擊需要刪除默認約束的數據表,選擇“設計”。
-
進入表設計器界面,點擊需要刪除默認約束的列,刪除下方列屬性的“默認值或綁定”中的輸入。
-
在“Check約束”對話框中選擇需要刪除的默認約束,點擊“刪除”,完成默認約束的刪除。
-
點擊保存鍵,或者按Ctrl+F5鍵進行保存,即可完成默認約束的刪除。
使用SQL方式刪除默認約束
- 在SSMS工具欄中單擊“新建查詢”,打開“SQL編輯器”窗口
- 輸入創建SQL代碼
USE schoolDB --打開數據庫schoolDB
GO
ALTER TABLE student
DROP CONSTRAINT DF_student_JoinTime
- 點擊“分析”按鈕,或按住Ctrl+F5,對SQL代碼進行語法分析,確保SQL語句語法正確。
- 點擊“執行”按鈕,或按住F5,執行SQL代碼。
- 查看數據表中的約束。