保證數據的一致性、完整性,實現一對一與一對多的關系

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]
- 修改列名稱
- 數據表更名

新聞熱點
疑難解答