zoukankan      html  css  js  c++  java
  • 约束

    第二节 约束

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

    1.非空约束

    not null,某列的值不能为null

    -- 创建表示添加约束
    CREATE TABLE stu(
    	id INT,
        NAME VARCHAR(20) NOT NULL
    );
    -- 创建表完后,添加非空约束
    ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
    
    -- 删除非空约束
    ALTER TABLE stu MODIFY NAME VARCHAR(20);
    

    2.唯一约束

    unique,某一列的值不能重复

    1. 注意:
      • 唯一约束可以有NULL值,但是只能有一条记录为null
    2. 在创建表时,添加唯一约束
      CREATE TABLE stu(
      id INT,
      phone_number VARCHAR(20) UNIQUE -- 手机号
      );
    3. 删除唯一约束
      ALTER TABLE stu DROP INDEX phone_number;
    4. 在表创建完后,添加唯一约束
      ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;

    3.主键约束

    1. 注意:
      1. 含义:非空且唯一
        2. 一张表只能有一个字段为主键
        3. 主键就是表中记录的唯一标识

      2. 在创建表时,添加主键约束
        create table stu(
        id int primary key,-- 给id添加主键约束
        name varchar(20)
        );

      3. 删除主键
        -- 错误 alter table stu modify id int ;
        ALTER TABLE stu DROP PRIMARY KEY;

      4. 创建完表后,添加主键
        ALTER TABLE stu MODIFY id INT PRIMARY KEY;

      5. 自动增长:

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

        2. 在创建表时,添加主键约束,并且完成主键自增长
          create table stu(
          id int primary key auto_increment,-- 给id添加主键约束
          name varchar(20)
          );

        3. 删除自动增长
          ALTER TABLE stu MODIFY id INT;

        4. 添加自动增长
          ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;

    4.外键约束

    foreign key,让表于表产生关系,从而保证数据的正确性。

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

      • 语法:
        create table 表名(
        ....
        外键列
        constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)
        );
    2. 删除外键
      ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

    3. 创建表之后,添加外键
      ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);

    4. 级联操作

    5. 添加级联操作
      语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名称
      FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE ;

    6. 分类:
      1. 级联更新:ON UPDATE CASCADE

                 		2. 级联删除:ON DELETE CASCADE 
      
       弊端  关联的内容都被删除
  • 相关阅读:
    The Quad
    将OrCAD Capture CIS的设计文件(.dsn)导入到PADS Logic VX.2.3
    OrCAD Capture CIS 16.6 将版本16.6的设计文件另存为版本16.2的设计文件
    Eclipse IDE 添加jar包到Java工程中
    PADS Logic VX.2.3 修改软件界面语言
    切换Allegro PCB Editor
    Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件
    Allegro PCB Design GXL (legacy) 设置自动保存brd文件
    Could not create an acl object: Role '16'
    windows 下apache开启FastCGI
  • 原文地址:https://www.cnblogs.com/anke-z/p/12802702.html
Copyright © 2011-2022 走看看