添加

添加有两种方式

  • ALTER TABLE <表名> ADD [CONSTRAINT [约束名]] UNIQUE [INDEX | KEY] [index_name]
    • INDEXKEY 是等价的 ```sql CREATE TABLE Student( sid char(20), … );

ALTER TABLE student ADD CONSTRAINT c1 UNIQUE KEY(sid);

  1. - `ALTER TABLE<表名> MODIFY <字段名称> <字段类型> [完整性约束条件]`
  2. ```sql
  3. ALTER TABLE student MODIFY sid CHAR(20) UNIQUE;

两种方式的对比与建议
下面这种方式主要用于修改数据类型,所以推荐上面的方式。原因如下

  1. 第一种方式可以自定义约束名,而第二种的不能,是系统自动生成的。实际操作中还是自己为完整性约束起一个名比较好,后面也方便修改这个约束
  2. 第二种方式,如果缺省完整性约束条件,则原有的约束条件将丢失,如果想保留修改时就得带上约束条件,比较麻烦

    删除

    也是两种方法
  • ALTER TABLE <表名> DROP [INDEX | KEY] <index_name>

    1. ALTER TABLE student DROP INDEX 11;
  • ALTER TABLE <表名> MODIFY <字段名称> <字段类型> NULL

    1. ALTER TABLE student MODIFY sid CHAR(20) NULL;

    同样,还是推荐上面的方式

    修改

    还是两种方法

  • 先删除再创建

    1. # 先删除
    2. ALTER TABLE student DROP INDEX c1;
    3. # 然后新建
    4. ALTER TABLE student ADD ...
  • 直接使用 modify 字段