mysql建表中的约束

2020-03-12  本文已影响0人  my木子

mysql建表中的约束

1. 主键约束:它能够唯一确定一张表中的一条记录,增加主键约束之后,就可以使得字段不重复而且不为空

create table info(
    id int primary key,
    name char(20),
);

// 添加 info 数据表主键
alter table info add primary key(id);
// 修改 info 数据表主键
alter table info modify id int primary key;
// 删除 info 数据表主键
alter table info drop primary key;
2. 联合主键:主键值加起来不重复
create table info(
    id int,
    name char(20),
    gender char(2),
    primary key(id,name)
);
3.自增约束:无需传主键值,id 自动增加
create table info(
    id int primary key auto_increment,
    name char(20)
);
4.唯一约束:约束修饰的字段的值不可重复
create table info(
    id int,
    name char(20),
    unique(name)
);

create table info(
    id int,
    name char(20) unique
);

create table info(
    id int,
    name char(20),
    unique(id,name)
);
// 删除  info 表中的唯一约束
alter table info drop index name
// 添加  info 表中的唯一约束
alter table info modify unique name varchar(20) 
5.非空约束:修饰的字段不能为空 null
create table info(
    id int,
    name char(20) no null
);
6.默认约束:没传值的时候默认赋值
create table info(
    id int,
    name char(20) default '张三'
);
7.外键约束:涉及两个表 父表子表
// 班级
create table classes(
    id int primary key,
    name char(20)
);

// 学生表 
// class_id 必须来自classes 表中的 id
create table students(
    id int primary key,
    name char(20),
    class_id int,
    foreign key(class_id) references classes(id)
);

上一篇下一篇

猜你喜欢

热点阅读