三、约束

一、数据约束:对用户操作表的数据进行约束。
  1、默认值约束:default
    create table 表名(
      id int,
      name varchar(20),
      address varchar(20) default 值)
  2、非空约束:not null
    create table 表名(
      id int not null,
      name varchar(20),
      address varchar(20) default 值)
  3、唯一约束:unique,比较字段值,不比较null
    create table stu(
      sid int,
      sname varchar(10) not null,
      idcard char(18) unique,
      birthday date,
      address varchar(30) default '山东淄博');
  4、主键约束:primary key
    create table stu(
      sid int primary key,
      sname varchar(10) not null,
      idcard char(18) unique,
      birthday date,
      address varchar(30) default '山东淄博');
  5、自增长约束:设置主键后才能使用:auto_increment
    create table stu(
    sid int primary key auto_increment,
    sname varchar(10) not null,
    idcard char(18) unique,
    birthday date,
    address varchar(30) default '山东淄博');
    5.1、零填充:注意在自增的前提下,设置int的位数(int(3)):zerofill 
    create table stu(
      sid int(3) zerofill primary key auto_increment,
      sname varchar(10) not null,
      idcard char(18) unique,
      birthday date,
      address varchar(30) default '山东淄博');
    6、外键:把别的表的主键拿到该表做主键:constraint 外键名 foreign key(附表的哪个字段是外键) references 主表(主键)
    -- 主表
      create table dept(
        did int primary key auto_increment,
        dname varchar(10),
        mgr varchar(10)
        )

    -- 外表
      create table empp(
        eid int primary key auto_increment,
        ename varchar(10),
        esex char(2),
        did int,
      -- 声明外键
      --constraint 外键名 foreign key(附表的哪个字段是外键) references 主表(主键)
      constraint empp_dept_fk foreign key(did) references dept(did)
      )
    注意:
    1、附表添加数据时应查询主表是否有,若没有则在主表添加数据后,再在附表添加数据
    2、增加数据时先添加主表再添加附表
    3、更改和删除时先删除更改副表表再删除主表

原文地址:https://www.cnblogs.com/yanghaoyu0624/p/11450805.html