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;
  • 相关阅读:
    简单内存泄漏检测方法 解决 Detected memory leaks!
    C++&&XML; “未使用调试信息生成二进制文件” vs assist
    H3C ACL地址转换配置等
    oracle 数据库表导入导出
    内存的使用与windows 内存监控
    Java Development in Flash Builder 4 Standalone
    flex builder
    美国化妆品
    vs 主题
    Boost lib linker error Visual C++
  • 原文地址:https://www.cnblogs.com/woaiacfun/p/12960826.html
Copyright © 2011-2022 走看看