zoukankan      html  css  js  c++  java
  • 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加起来不能重复。

  • 相关阅读:
    Linux下打包发布Qt应用程序
    嵌入式中的BSP---BSP到底是什么?
    (转)Spring 工具类 ConfigurationClassParser 分析得到配置类 -- springboot一样处理过程
    React Hooks之useState、useEffect使用
    数组排序多种方法汇总
    封装判断浏览器是否是IE浏览器
    封装addEventListener,removeEventListener指定元素添加事件及兼容问题js
    js判断是否超过几行
    react日期格式化组件
    Windows smynesc免费经典儿时小游戏分享给大家
  • 原文地址:https://www.cnblogs.com/Abby123wen/p/11345096.html
Copyright © 2011-2022 走看看