最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL约束类型及举例介绍

来源:动视网 责编:小采 时间:2020-11-09 20:23:22
文档

MySQL约束类型及举例介绍

MySQL约束类型及举例介绍:约束 约束保证数据的完整性和一致性 约束分为表级约束和列级约束 约束类型包括:NOT NULL (非空约束),PRIMARY KEY(主键约束),UNIQUE KEY(唯一约束),DEFAULT(默认约束),FOREIGN(外键约束) 1.主键约束 PRIMARY KEY 每张
推荐度:
导读MySQL约束类型及举例介绍:约束 约束保证数据的完整性和一致性 约束分为表级约束和列级约束 约束类型包括:NOT NULL (非空约束),PRIMARY KEY(主键约束),UNIQUE KEY(唯一约束),DEFAULT(默认约束),FOREIGN(外键约束) 1.主键约束 PRIMARY KEY 每张


约束 

  • 约束保证数据的完整性和一致性
  • 约束分为表级约束和列级约束
  • 约束类型包括:NOT NULL (非空约束),PRIMARY KEY(主键约束),UNIQUE KEY(唯一约束),DEFAULT(默认约束),FOREIGN(外键约束)
  • 1.主键约束

  • PRIMARY KEY
  • 每张数据表只能存在一个主键
  • 主键保证记录的唯一性,主键的值不重复
  • 主键自动为 NOT NULL
  • 举例,创建一张student表,将学号设置为主键创建完表之后,通过SHWO COLUMNS FROM student查看表结构

    CREATE TABLE student(
    id int PRIMARY KEY,
    stu_name varchar(20)
    );

    2.唯一约束

  • UNIQUE KEY
  • 唯一约束可以保证记录的唯一性
  • 唯一约束的字段可以为空值(NULL)
  • 每张数据表可以存在多个唯一约束
  • 举例,创建一个teacher表,id字段自增,tea_name唯一

    CREATE TABLE teacher(
    id int AUTO_INCREMENT PRIMARY KEY,
    tea_name varchar(20) NOT NULL UNIQUE KEY
    );

    3.默认约束

  • DEFAULT
  • 当插入记录时,如果没有明确为字段赋值,则自动赋予默认值
  • 举例,创建一张course表,默认上课时间为40分钟

    CREATE TABLE course(
    id int AUTO_INCREMENT PRIMARY KEY,
    cou_name varchar(20) NOT NULL UNIQUE KEY,
    time int DEFAULT 40
    );
    INSERT INTO course(cou_name) values('语文');

    4.非空约束

  • NOT NULL
  • 强制列不能为 NULL 值,约束强制字段始终包含值。
  • 这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
  • 举例,在 "Persons" 表创建时在 Id列、name列创建 not null 约束:

    create table Persons(
    id int not NULL,
    p_name varchar(20) not null, 
    deparment varchar(20),
    address varchar(20),
    telNum varchar(20)
    )
    DESC Persons;

    5.外键约束

  • FOREIGN KEY
  • 保持数据的一致性,完整性
  • 实现1对1或1对n关系
  • 1.父表与子表必须使用相同的存储引擎,而且禁止使用临时表。
    2.数据表的存储引擎只能是InnoDB
    3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。
    4.外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。

    CREATE TABLE school(
    id int AUTO_INCREMENT PRIMARY KEY,
    sname varchar(20) NOT NULL
    );
    CREATE TABLE student2(
    id int AUTO_INCREMENT PRIMARY KEY,
    sid int,
    FOREIGN KEY (sid) REFERENCES school(id)
    );

    外键约束的参照操作

  • CASCADE : 从父表删除或更新且自动删除或更新子表中匹配的行
  • 父表中被引用的列删除了某个数据,子表中删除对应数据的行
  • CREATE TABLE student3(
    id int AUTO_INCREMENT PRIMARY KEY,
    sid int,
    FOREIGN KEY (sid) REFERENCES school(id) ON DELETE CASCADE
    );
  • SET NULL:从父表删除或更新行,并设置子表的外键列为NULL。如果使用该项,必须保证子表列没有指定NOT NULL
  • 父表中删除数据,将子表中的引用设置为NULL
  • RESTRICT:拒绝对父表的删除或更新操作
  • NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同
  • 总结

    文档

    MySQL约束类型及举例介绍

    MySQL约束类型及举例介绍:约束 约束保证数据的完整性和一致性 约束分为表级约束和列级约束 约束类型包括:NOT NULL (非空约束),PRIMARY KEY(主键约束),UNIQUE KEY(唯一约束),DEFAULT(默认约束),FOREIGN(外键约束) 1.主键约束 PRIMARY KEY 每张
    推荐度:
    标签: 例子 mysql 约束
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top