sql刪除欄位約束
❶ 使用sql語句創建和刪除約束示例代碼
使用sql語句創建和刪除約束
約束類型
主鍵約束(Primary
Key
constraint)
--:要求主鍵列數據唯一,並且不允許為空。
唯一約束(Unique
constraint)
--:要求該列唯一,允許為空,但只能出現一個空值。
檢查約束(Check
constraint)
--:某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。
默認約束(Default
constraint)
--:某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。
外鍵約束(Foreign
Key
constraint)
--:用於在兩個表之間建立關系,需要指定引用主表的哪一列。
**********************************************************************
添加約束:
alter
table
tablename
add
constraint
pk_colname
primary
key(colname)主建約束
alter
table
tablename
add
constraint
uq_colname
unique
(colname)唯一約束
alter
table
tablename
add
constraint
df_colname
default('地址不詳')for
colname
默認約束
alter
table
tablename
add
constraint
ck_colname
check(colname
between
12
and
15)檢查約束
alter
table
tablename
add
constraint
fk_colname
foreign
key(colname)references
tablename(colname)外建約束
刪除約束:
alter
table
tablename
drop
constraint
約束名
創建登陸帳戶/資料庫用戶
創建登錄帳戶:
exec
sp_grantlogin
'windows
域名/域帳戶'
創建資料庫用戶:
exec
sp_grantdbaccess
'登陸帳戶','資料庫用戶'
向資料庫授權:
grant
許可權[on
表名]to
資料庫用戶
以上語句可直接在企業管理器中操作
企業管理器/安全性/登陸/新建登陸
填寫名稱和密碼
選擇資料庫訪問,再底下"資料庫角色中允許"
db_owner也打上勾
默認約束使用戶能夠定義一個值,每當用戶沒有在某一列中輸入值時,則將所定義的值提供給這一列。如果用戶對此列沒有特定的要求,可以使用默認約束來為此列輸入默認值。
❷ SQL中的幾種約束的創建與刪除
約束的目的就是確保表中的數據的完整性。
常用的約束類型如下:
主鍵約束:(Primary Key constraint) 要求主鍵列唯一,並且不允許為空
唯一約束:(Unique Constraint) 要求該列唯一,允許為空,但只能出現一個空值
檢查約束:(Check Constraint) 某列取值范圍限制、格式限制等。如有關年齡的限制
默認約束:(Default Constraint) 某列的默認值,如我們的男性學員比較多,性別默認為男
外鍵約束:(Foreign Key Constraint) 用於在兩表之間建立關系,需要指定引用主表的哪一列
一、添加約束
在創建表時,我們可以在欄位後添加各種約束,但一般不這樣混用,推薦將添加約束和建表的語句分開編寫。
添加約束的語法如下:
Code:
Alter Table 表名
Add Constraint 約束名 約束類型 具體的約束類型
上述語法標識修改某個表,添加某個約束,其中約束名的命名規則推薦採用"約束類型_約束欄位"這樣的形式。
Code:
---添加主鍵約束
Alter Table stuInfo
Add Constraint PK_stuNO primary Key(stuNo)
---添加唯一約束
Alter Table stuInfo
Add Constraint UQ_stuID unique(stuID)
---添加默認約束
Alter Table stuInfo
Add Constraint DF_stuAddress default('地址不詳') for stuAddress
---添加檢查約束
Alter Table stuInfo
Add Constraint CK_stuAge check(stuAge between 15 and 40)
---添加外鍵約束
Alter Table stuMarks
Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)
二、刪除約束
如果錯誤的添加了約束,則可以刪除約束
刪除約束的語法如下:
Code:
Alter Table 表名
Drop Constraint 約束名
附加:在創建表的時候同時添加約束的寫法:
Code:
use stuDB
go
if exists(select * from Sysobjects where name = 'stuInfo')
drop table stuInfo
go
create table stuInfo
(
stuName varchar(20) not null primary key(stuName)
,stuID int not null unique(stuID)
,stuAddress varchar(20) not null default('地址不詳')
,stuAge int not null check(stuAge between 15 and 40)
)