mysql 第1.2章 创建-约束 mysql 第1.2章 创建-约束

2小时前

唯一约束:UNIQUE KEY,唯一约束可以保证记录的唯一性、唯一约束的字段可以为空值(NULL)、每张数据表可以存在多个唯一约束

默认约束:DEFAULT

主键约束:PRIMARY KEY

非空约束:NOT NULL

外键约束:FOREIGN KEY

    • 父表和子表必须使用相同的存储引擎,而且禁止使用临时表。

    • 数据表的存储引擎只能为InnoDB。

    • 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。

    • 外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。

CREATE TABLE provinces( 
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, 
    pname VARCHAR(20) NOT NULL
);
CREATE ABLE users(
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(10)NOT NULL,
    FOREIGN KEY(pid)REFERENCES provinces (id) ON DELETE CASCADE
);
SHOW INDEXES FROM provinces \G;
  • CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行

  • SET NULL:从父表删除或更新行,并设置子表中的外键列为 NULL。如果使用该选项,必须保证子表列没有指定 NOT NULL

  • RESTRICT:拒绝对父表的删除或更新操作。

  • NOACTION:标准 SQL 的关键字,在 MySQL 中与 RESTRICT 相同

阅读 4

mysql文章
带到手机上看