美文网首页
mysql建表中的约束

mysql建表中的约束

作者: my木子 | 来源:发表于2020-03-12 22:40 被阅读0次

    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)
    );
    
    

    相关文章

      网友评论

          本文标题:mysql建表中的约束

          本文链接:https://www.haomeiwen.com/subject/lzigjhtx.html