SQLserver的七种约束。

create table teacher
(teacher_id int primary key,
teacher_name nvarchar(30)not null,
tlevel char(1) default('0') )

CREATE TABLE courses(cour_no
int,--加了主键会默认加上not null
constraint pk_cour_no primary key (cour_no),
cour_name nvarchar(20) not null,
teacher_id int,
constraint FK_teacher_id foreign key (teacher_id) references teacher(teacher_id),
remark nvarchar(max))
选课表:学生的学号 选课的课号 --复合主键 复合主键是指两个字段组合起来不能重名、重复。选课表是一个关系表,不是实际存在的。关系表 表示:学生 和 课程 和 老师
create table stu_cou(
stu_no int,
cour_id int,
constraint PK_stuNO_CourID primary key(stu_no,cour_id),
constraint FK_stu_no Foreign key (stu_no) references Student(stu_no),
constraint FK_COUR_ID foreign key (cour_id) references courses(cour_no))
注意:外键中添加的数据如果在主键中找不到该数据,是不会让其保存进去的。
主键
外键
not null
--default() 如果字段的属性是int的默认就要给整型,如default(0),如果字段的属性是字符串的你就要给它整型或者空' '
--唯一约束 unique 在表里可以存在多个唯一 我这个约束里面不能存在同样的值。
--check 自定义的约束 只允许我们的sex只能填 男 或女
--identity 自增约束 自增约束是系统自动填值进去,它是从哪个值开始,每次增加多少。 identity(1,1)前面表示从1开始,后者表示每次增长1
--
alter table student
add constraint CK_sex check(sex='男' or sex='女')
或者
alter table student
add constraint CK_sex check (sex='男'or sex='女')
有多个时:
alter table student
add constraint CK_sex check (sex in('男','女','人妖'))

alter table courses
add constraint uq_teacher_id unique(teacher_id) --指的是teacer_id 和remark加起来不能重复。

猜你喜欢

转载自www.cnblogs.com/Abby123wen/p/11345096.html
今日推荐