• MySQL----约束


    ##约束

        *  概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性。

        *  分类:

          1、主键约束:primary key

          2、非空约束:not null

          3、唯一约束:unique

          4、外键约束:foreign key

    * 非空约束:not null,值不能为null

      1、创建表时,添加约束。

      2、创建完之后添加非空约束。

      3、删除非空约束。

    create table lxy.stu(
        id int,
        name varchar(20) not null
    );
    /*删除name的非空约束*/
    alter table lxy.stu modify name varchar(20);
    /*创建完表之后添加非空约束*/
    alter table lxy.stu modify name varchar(20) not null ;

    *唯一约束:unique,值不能重复

    /*创建表时,添加唯一约束*/
    create table stu(
        id int,
        phone_number varchar(20) unique
    );
    /*注意nysql中,唯一约束限定的列的值可以有多个null*/
    /*删除唯一约束*/
    alter table stu drop index phone_number;
    /*在创建表之后添加唯一约束*/
    alter table stu modify phone_number varchar(20) unique;

     *主键约束:primary key

      1、注意:

        1、含义:非空且唯一

        2、一张表只能有一个字段为主键

        3、主键就是表中记录的唯一标识

      2、在创建表时,添加主键约束

    create table stu(
        id int primary key, /*--给id添加主键约束*/
        name varchar(32)
    );
    /*删除主键*/
    alter table stu drop primary key;
    /*创建完表之后,添加主键*/
    alter table stu modify id int primary key ;

      3、自动增长

        1、 概念:如果某一列实数值类型的,使用auto_increment 可以来完成值的自动增长

        2、在创建表时,添加主键约束,并且完成主键自动增长

    /*创建表时,设置主键的自动增长*/
    create table stu(
        id int primary key auto_increment,
        phone_number varchar(20) unique
    );
    /*创建表之后添加*/
    alter table stu modify id int auto_increment;
    
    

        3、删除自动增长

    /*删除自动增长*/
    alter table stu modify id int;

    *外键约束:foreign key,让表与表产生关系,从而保证数据的正确性。

      1、在创建表时,可以添加外键

        *  语法:create table 表名(

            ...

            外键列,

            constraint 外键名称 foreign key 外键列名称 references 主表名称(主表列名称)

            );

    create table employee(
        id int primary key auto_increment,
        name varchar(32),
        age int,
        dep_id int,
        constraint emp_dept_fk foreign key (dep_id) references department (id)
    );

      2、删除外键

    /*删除外键*/
    alter table employee drop foreign key emp_dept_fk;

      3、创建表之后添加外键

    /*添加外键*/
    alter table employee add constraint emp_dept_fk foreign key (dep_id) references department (id);

      4、级联操作

        1、添加级联操作

          语法:

    /*添加外键,设置级联更新*/
    alter table employee add constraint emp_dept_fk foreign key(dep_id) references department(id) on update cascade on delete cascade;

        2、分类:

          1、级联更新:on update cascade

          2、级联删除:on delete cascade

    That which doesn't kill me makes me stronger!
  • 相关阅读:
    Django models通过DateTimeField保存到MySQL的时间的时区问题
    apache静态文件配置
    Python多线程学习
    Django filter中用contains 在mysql中的问题
    python:open/文件操作
    C++primer plus第六版课后编程题答案
    C++primer plus第六版课后编程题答案8.3
    C++primer plus第六版课后编程题答案8.2
    C++primer plus第六版课后编程题答案8.1
    C++primer plus第六版课后编程题答案7.10
  • 原文地址:https://www.cnblogs.com/21seu-ftj/p/12271722.html
Copyright © 2020-2023  润新知