• 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),--做外键的字段要映射teacher表去,对应的是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))
    --注意:外键中添加的数据如果在主键中找不到该数据,是不会让其保存进去的。
    --七种约束:
    --1.主键
    --2.外键
    --3.not null
    --4.default() 如果字段的属性是int的默认就要给整型,如default(0),如果字段的属性是字符串的你就要给它整型或者空' '
    --5.唯一约束 unique 在表里可以存在多个唯一 我这个约束里面不能存在同样的值。
    --6.check 自定义的约束 只允许我们的sex只能填 男 或女
    --7.identity 自增约束 自增约束是系统自动填值进去,它是从哪个值开始,每次增加多少。 identity(1,1)前面表示从1开始,后者表示每次增长1
    --主键:
    primary key
    constraint pk_cour_no primary key (cour_no)
    --复合主键:
    constraint PK_stuNO_CourID primary key(stu_no,cour_id)
    --外键:
    constraint FK_teacher_id foreign key (teacher_id) references teacher(teacher_id)
    alter table student_cou add constraint FK_stu_no Foreign key (stu_no) references Student(stu_no)
    --
    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加起来不能重复。

  • 相关阅读:
    CSS书写技巧(转)
    OutputCache祥解
    [推荐/译文/转]从底层角度看ASP.NETA lowlevel Look at the ASP.NET Architecture
    [转]ASP.NET页面解析
    .NET开发中你可能会用到的常用方法总结
    asp.net 页面清除缓存
    ASP.NET内部原理(HttpHandler和HttpModule)
    .NET开发中你可能会用到的常用方法总结(2)
    C#解析HTML
    如何理解IIS 7的两种应用程序池的管道模式(Managed Pipeline Mode)
  • 原文地址:https://www.cnblogs.com/Abby123wen/p/11345096.html
Copyright © 2020-2023  润新知