添加
添加有两种方式
ALTER TABLE <表名> ADD [CONSTRAINT [约束名]] UNIQUE [INDEX | KEY] [index_name]
INDEX
和 KEY
是等价的
```sql
CREATE TABLE Student(
sid char(20),
…
);
ALTER TABLE student ADD CONSTRAINT c1 UNIQUE KEY(sid);
- `ALTER TABLE<表名> MODIFY <字段名称> <字段类型> [完整性约束条件]`
```sql
ALTER TABLE student MODIFY sid CHAR(20) UNIQUE;
两种方式的对比与建议
下面这种方式主要用于修改数据类型,所以推荐上面的方式。原因如下
- 第一种方式可以自定义约束名,而第二种的不能,是系统自动生成的。实际操作中还是自己为完整性约束起一个名比较好,后面也方便修改这个约束
- 第二种方式,如果缺省完整性约束条件,则原有的约束条件将丢失,如果想保留修改时就得带上约束条件,比较麻烦
删除
也是两种方法
ALTER TABLE <表名> DROP [INDEX | KEY] <index_name>
ALTER TABLE student DROP INDEX 11;
ALTER TABLE <表名> MODIFY <字段名称> <字段类型> NULL
ALTER TABLE student MODIFY sid CHAR(20) NULL;
同样,还是推荐上面的方式
修改
还是两种方法
先删除再创建
# 先删除
ALTER TABLE student DROP INDEX c1;
# 然后新建
ALTER TABLE student ADD ...
直接使用 modify
字段