zoukankan      html  css  js  c++  java
  • 数据库基础回顾-约束

     1、非空约束:not null,某一列的值不能为空

    CREATE TABLE stu(
        id INT,
        NAME VARCHAR(20) NOT NULL -- name 为非空
    )ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    -- 删除name 的非空约束
    ALTER TABLE stu MODIFY NAME VARCHAR(20);
    
    -- 创建表之后 ,添加非空约束
    ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
    
    SELECT * FROM stu;

    2.唯一约束:unique,约束某一列的值不能重复

    -- 创建表时,条件唯一约束
    CREATE TABLE stu(
        id INT,
        phone_number VARCHAR(20) UNIQUE -- 手机号
    )ENGINE = INNODB DEFAULT CHARSET = utf8;
    
    -- 添加表完成之后,添加唯一约束 ,如果表里数据有重复项,需要删除之后再操作
    ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
    -- 删除唯一约束
    ALTER TABLE stu  DROP INDEX phone_number;
    
    SELECT * FROM stu;

    3.主键约束:primary key

      * 1、含义:非空且唯一

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

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

    CREATE TABLE stu(
        id INT PRIMARY KEY,-- 给ID添加主键,
        NAME VARCHAR(20) 
    )ENGINE = INNODB DEFAULT CHARSET = utf8;
    
    -- 添加表完成之后,添加唯一约束
    ALTER TABLE stu MODIFY id INT PRIMARY KEY;
    -- 删除唯一约束
    ALTER TABLE stu  DROP PRIMARY KEY;
    
    SELECT * FROM stu;

    4.外键:foreign key ,让表与表产生联系,保证数据的正确性

    -- 在创建表时,添加外键
    
    CREATE TABLE 表名(
    ....
    外键列
    constraint 外键名称 foreign key(外键列名称) reference 主表名称(主表列名称)    
    );
    
    -- 删除外键 
    alter table 表名 drop foreign key 外键名称
    
    -- 创建表之后 添加外键,设置级联更新,级联删除
    alter table 表名 add constraint 外键名称 foreign key(外键字段名称) reference 主表名称(主表列名称)on update cascade on delete cascade;
  • 相关阅读:
    leetcode[45]Jump Game II
    leetcode[46]Permutations
    leetcode[47]Permutations II
    leetcode[48]Rotate Image
    手把手一起玩perl安装
    List the Modules in Your System
    oracle之recyclebin
    10g 11g新特性
    RMAN相关操作命令
    手把手一起安装RAC+DataGuard
  • 原文地址:https://www.cnblogs.com/woaiacfun/p/12960826.html
Copyright © 2011-2022 走看看