首先创建一个基本的表,在定义列名时注意赋默认值,注意用户定义完整性这一约束条件
create table base(
col1 varchar(50) primary key, --主键 默认不为空
colF varchar(50),
col2 int default 0,
col3 numeric(5,2),--5位长度,两位小数
)
2,给表添加一列
alter table base add col4 varchar(50) default ''
3,修改字段的数据类型,如果该字段已有默认值,需要删掉现有约束,再修改字段数据类型,再添加默认值
alter table base drop constraint DF__base__col4__705E348F --删除现有约束名
alter table base alter column col4 numeric (9,4) --修改字段类型
alter table base add default(0.0) for col3 --添加默认值
4,表的主外键约束
外键约束存在于对于主表,主表中的一个字段是其他表中的主键,该字段成为主表的外键。
外键可以在建表的时候创建,也可以在建表之后添加外键。
外键约束的含义:
对于主表而言,当对主表insert数据时,对主表操作的候选码,在从表中已经有该主键时,则不允许操作。
对于从表而言,当对从表insert数据时,主表中不存在对应的外键,则不能在从表中insert数据。
如果在定义外键时需要视情况看需不需要添加级联约束
create table Table_M(
col_ID varchar(50) primary key, --主键 默认不为空
colF varchar(50) , --外键
col2 int default 0,
col3 numeric(5,2),-
constraint FK_FK__Table_M__colF foreign key(colF)references Table_D(DID) on delete cascade on update cascade
)
create table Table_D(
DID varchar(50) primary key,
D_col1 varchar(50),
D_col2 int default 0,
D_col3 numeric(5,2),
)
--也可以建表之后再添加外键
--先删除外键约束
--FK_FK__Table_M__colF
alter table Table_M drop constraint FK_FK__Table_M__colF
alter table Table_M add constraint FK_FK__Table_M__colF foreign key(colF)references Table_D(DID) on delete cascade on update cascade