• 约束


    约束

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

    分类

    1. 主键约束:primary key

      • 主键非空且唯一

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

      • 主键就是表中一条记录的唯一标识

      • 在创建表时添加添加主键约束

        CREATE TABLE person(
           ID INT PRIMARY KEY,
            NAME VARCHAR(10) NOT NULL
        );
        
      • 主键的删除

        ALTER TABLE person DROP PRIMARY KEY;
        
      • 创建表后添加主键

        ALTER TABLE person MODIFY ID INT PRIMARY KEY; -- 方法1
        ALTER TABLE person ADD PRIMARY KEY(ID);-- 方法2
        
        
    2. **自动增长:**一般配合主键,如ID等自动增长,使用关键字auto_increment。每次插入记录,该字段如果赋值为NULL,那么就可以自动增长,但是也可以指定指定的值。

      • 在创建表的时候使用自动增长

        CREATE TABLE person(
           ID INT PRIMARY KEY AUTO_INCREMENT,
            NAME VARCHAR(10) NOT NULL
        );
        
      • 创建表之后删除自动增长

        ALTER TABLE person MODIFY ID INT;
        
      • 创建表后添加自动增长

        ALTER TABLE person MODIFY ID INT AUTO_INCREMENT;
        
    3. 非空约束:not null,表示值不能为空

      • 在创建表的时候添加约束,表示这个字段为非空

        CREATE TABLE person(
           ID INT,
            NAME VARCHAR(10) NOT NULL
        );
        
      • 在建表后添加删除非空约束,其实就是修改列,modify或者change

        ALTER TABLE person MODIFY NAME VARCHAR(10);
        ALTER TABLE person MODIFY NAME VARCHAR(15) NOT NULL;
        
    4. 唯一约束:unique,表示值是唯一的,比如ID等

      • 在创建表时添加唯一约束

        CREATE TABLE person(
           ID INT UNIQUE, 
            NAME VARCHAR(10) NOT NULL
        );
        

        **注意:**在MySQL中,有唯一约束的列是可以有多个NULL值的。

      • 创建表后添加删除唯一约束

        ALTER TABLE person MODIFY NAME VARCHAR(10) UNIQUE; -- 创建表后加入唯一约束
        ALTER TABLE person DROP INDEX ID; -- 删除唯一约束
        
    5. 外键约束:foreign key,让表和表之间产生关系,保证数据的正确性

      1. 在创建表时可以添加约束,语法:

        create table 表名(
          ...
          外键列,
          constraint 外键名 foreign key (外键字段)references 主表名称(主表列名称)
        )
        
      2. 删除外键

        ALTER TABLE 表名称 DROP FOREIGN KEY 外键名称;
        
      3. 添加外键

        ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段)REFERENCES 主表名(主表列名称)
        
    6. 级联操作

      • 添加级联操作

        • 语法:

          ALTER TABLE 表名 ADD CONSTRAINT 外键名称
          FORRIGN KEY (外键字段名) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE;
          
      • 级联更新:ON UPDATE CASCADE;

      • 级联删除:ON DELETE CASCADE;

  • 相关阅读:
    转:C#操作摄像头
    C# Memcached缓存
    WCF:调用方未由服务器进行身份验证
    SQL Server 存储过程进行分页查询
    SQL Server T-SQL高级查询
    C#设计模式总结(转)
    C#中构造函数和析构函数区别
    C#: static关键字的作用(转)
    C#结构体和类的区别(转)
    .NET多线程编程(转)
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10689309.html
Copyright © 2020-2023  润新知