• MySQL【六】约束条件


    MySQL约束条件

     

    not null

    # not null (是否可以为空)
    create table stu(id int(10),
    name char(12) not null,
    sex enum('male','female')
    );

    not null + default(默认值)

    create table stu2(
    id int,
    name char(12) not null,
    phone char(11),
    sex enum('male','female') not null default 'male'
    );

    unique(唯一)

    create table stu3(
    id int,
    name char(12),
    ident char(18) unique
    );

    unique(联合唯一)

    复制代码
    ip + port
    192.168.16.13  mysql 3306
    192.168.16.13  kugou 8080
    192.168.16.13  flask 5000
    192.168.16.15  mysql 3306
    192.168.16.16  mysql 3306
    
    create table service(
    id int,
    ip char(15),
    name char(15),
    port int(5),
    unique(ip,port)
    );
    复制代码

    auto_increment

    自增的条件(这一列必须是数字,这一列必须是uniuqe)

    create table userinfo(
      id int unique auto_increment,
      name char(12),
      password char(32)
    );

    primary key(主键)

    primary key(主键)  ==  not null 非空 + unique 唯一 

    create table userinfo3(
      id int unique,
      username char(18) not null unique,
      password char(32),
      ident char(18) not null unique
    );

    一张表中只能有一个主键 : 主键从约束的角度上来说 就是非空且唯一的
    只不过,非空+唯一可以设置多个字段,但是主键只能给一个表中的一个字段设置
    (一般情况下,我们给id字段设置为主键,不允许一张表不设置主键)

    create table pri2(
      id1 int primary key,
      id3 int unique not null
    );

    联合主键

    约束多个字段各自不能为空,并且联合唯一

    create table pri4(
        id1 int,
        num int,
        primary key(id1,num)
    );

    外键

    foreign Key(被关联的项) references 被关联的表(待关联的项)

    复制代码
    # 表2 班级表 cid class_name
    create table clas(
        cid int primary key,
        class_name char(20)
     );
     
    # 表1 学生表 id name class_id
    create table stu(
        id int primary key ,
        name char(18),
        class_id int,
        foreign Key(class_id) references clas(cid)
     );
    复制代码

    级联更新,级联删除

    (关联后可以修改也可以删除)on update cascade on dalete cascade

    复制代码
    create table stu(
        id int primary key ,
        name char(18),
        class_id int,
        foreign Key(class_id) references clas(cid)
        on update cascade on dalete cascade
     );
    复制代码
  • 相关阅读:
    2015第14周四
    2015第14周三
    2015第14周二
    2015第14周一
    2015第13周日
    2015第13周六
    2015第13周五
    2015第13周四
    2015第13周三
    2015第13周二
  • 原文地址:https://www.cnblogs.com/youxiu123/p/11492883.html
Copyright © 2020-2023  润新知