保证数据的一致性、完整性,实现一对一与一对多的关系
1、cascate:从父表删除或者更新时,自动删除或更新子表中匹配的行 2、set null:从父表删除或更新行,同时设置子表中的外键列为null。如果使用该选项,必须保证子表列没有指定NOT NULL 3、restrict:拒绝对父表的删除或更新操作 4、no action:标准SQL的关键字,在MYSQL中与restrict相同
列级约束既可以在列定义的时候声明,也可以在列定义后声明(如主键),表级约束只能在列定义后声明
- 添加单列:
ALTER TABLE tb_mame ADD [COLUMN] col_name column_definition[FIRST | AFTER col_name] - 添加多列
ALTER TABLE tb_name ADD [COLUMN] (col_name column_definition,...)
- 删除列
- 添加主键约束 ALTER TABLE tb_name ADD [CONSTRAINT[symbol:约束的名字]] PRIMARY KEY [index_type(哈希索引,btree索引)]
(index_col_name,…) - 添加唯一约束
- 添加外键约束
- 添加或删除默认约束
-删除主键约束
ALTER TABLE tb_name DROP PRIMARY KEY -删除唯一约束
ALTER TABKE tb_name DROP {INDEX|KEY} index_name
(一张表可以有多个唯一约束) -删除外键约束
- 修改列定义
ALTER TABLE tb_name MODIFY[COLUMN] col_name column_definition [FIRST|AFTER col_name] - 修改列名称
- 数据表更名
新闻热点
疑难解答