資料庫如何新增約束

2021-10-07 05:27:52 字數 1373 閱讀 9098

--主鍵約束  外來鍵約束  unique約束(唯一約束)  check約束  default約束

create table demotable--建立表

id int identity(1,1) primary key not null,--設定主鍵約束

demono varchar(50) unique not null,--設定unique約束(唯一約束)

demoname nvarchar(50) not null,

typeid int not null foreign key references demotype(typeid),--設定外來鍵

price decimal(18,2) check(price<10000) default (0.00) not null,--check約束

democount int default (0) null--default約束 預設值 

go--建立表後再新增約束

create table demotable--建立表

id int identity(1,1) not null,

demono varchar(50) not null,

demoname nvarchar(50) not null,

typeid int not null,

price decimal(18,2) not null,

democount null

go--主鍵

alter table demotable add constraint pk_demotable primary key(id)

--外來鍵

alter table demotable add constraint fk_demotable foreign key(typeid) references demotype(typeid)

--unique約束(唯一約束)

alter table demotable add constraint ix_demotable_demono unique(demono)--unique(列名)

--多個列唯一性約束

alter table demotable add constraint ix_demotable_demono unique(demono,demoname)

--check約束

alter table demotable add constraint ck_demotable_price check(price<10000)--check(邏輯表示式)

--default約束

alter table demotable add constraint df_demotable default (0) for democount--default(預設值) for 列名

資料庫新增各種約束

非空約束alter table studen modify studentname not null 唯一約束 身份證號 alter table student add constraint uk student identitycard unique identitycard 預設約束 位址 al...

Oracle如何給資料庫新增約束過程解析

主鍵約束 兩個特性 1 主鍵必須寫 2 主鍵不可重複 create table stu01 sid varchar 100 sname varchar2 100 constraint pk stu01 sid primary key sid 新增約束 主鍵 alter table stu01 add...

資料庫約束

mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義的語法如下 constraint symbol foreign key index name index col name,references tbl name ind...