zoukankan      html  css  js  c++  java
  • 约束

    约束

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

    分类

    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;

  • 相关阅读:
    .dll .h .lib等文件的作用与区别
    [转自]语言黑客的福音
    [转载]一个台湾程序员的心历路程
    Servlet学习总结
    会话跟踪(Cookie & Session)
    JSP学习总结
    人往高处走,水往低处流
    GDI 和GDI+ 混合编程
    常用到的知识
    Sqlite3相关
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10689309.html
Copyright © 2011-2022 走看看