1. 程式人生 > >sql server 2008 r2中用alter修改表結構---給屬性加上unique約束

sql server 2008 r2中用alter修改表結構---給屬性加上unique約束

我們知道在Sql Server中修改表結構的命令是Alter table,其基本格式如下:

**ALTER TABLE [schema_name.] table_name{ALTER COLUMN column_name<data_type[NULL|NOTNULL]|ADD<column_definition>|<computed_column_definition<table_constraint>}|DROP[CONSTRAINT]constrait_name|Column column_name}**(然並卵,沒有具體的實操也許還是看不明白這個)。
現在我們建立users表格:

create table users(
userId Integer primary key identity(1,1),
username char(255) unique not null,
phone  Integer  not null,
password char(255) not null,
dormitory char(25) not null,
balance float default 0
)

現在我要給phone屬性新增unique約束,則相應的sql語句為:

alter table users add constraint UQ__users__F3DBC572023D5A041 unique
(phone)

語法格式為:alter table 表名 add constraint 約束名 unique(列名)
檢視xxx表的約束名的sql語句為:exec sp_help '表名'
例如我查詢剛剛users表結果如下:
這裡寫圖片描述
其中粉紅色圈那個就是有約束性的屬性對於的約束名。
約束名的含義:pk代表主鍵約束的名字,df代表預設約束的名字,ck代表check約束的名字等等。
約束名不能有重複,覺得約束的約束性質是字首,例如表格中:PK__users
所以要給屬性新增約束只要把後面改為不一樣就好(注意主鍵的唯一性)
同理可推sql server 2008 r2中用alter修改表結構—刪除屬性的約束:

再用alter table 表名   drop constraint 約束的名字