1.外键约束:
Notnull(非空约束):不存在表级约束
Primarykey:主键约束
Uniquekey:唯一约束,每个数据表可以存在多个唯一约束,确保数据的唯一性
Default:默认值,不存在表级约束
Foreignkey:外键约束保证数据的一致性、完整性,实现一对多、多对一的关系
2.Foreign key:
2.1 使用外键约束的条件
数据存储引擎为InnoDB
外键列与参照列必须具有相似的数据类型。如果是数字类则符号位、长度相同,如果是字符长度可以不同。
外键列与参照列必须创建索引,如果外键列不存在索引,MySql将自动创建索引,但参照列的索引不会被自动创建。
注一: 添加外键的方法:foreignkey(外键列) references 父表(参照列)。
注二:一般数据可设计中考虑物理约束,外键约束的数据存储引擎为InnoDB
外键约束的参照操作:更新父表后子表是否进行相应的操作
Cascade:on delete cascade 父表在删除或更新且自动删除或更新子表中匹配的行
SetNull:从父表删除或更新行并设置外键列为null.如果使用该选项,必须保证子列没有指定notNull。
查看表的创建命令:show create table tablename
显示索引: showindexs from tablename
查看数据表字段: showcolumns from tablename