保证数据的一致性、完整性,实现一对一与一对多的关系

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]
- 修改列名称
- 数据表更名

新闻热点
疑难解答