5.1 修改列名

  1. ALTER TABLE person
  2. CHANGE name username VARCHAR(20) // name -> username

5.2 修改表名(两种方式)

  1. ALTER TABLE person RENAME sys_person;
  2. RENAME TABLE sys_person TO person;

5.3 修改列的类型 MODIFY

  1. ALTER TABLE person
  2. MODIFY id int auto_increment // 增加自动增长类型,主键不可重复定义

5.4 增加列、唯一约束、主键约束、检查约束

  1. ALTER TABLE person
  2. ADD COLUMN gender CHAR(1) // 增加列 性别
  3. // ADD 约束符 起的约束名字(约束的列...)
  4. ADD [PRIMARY KEY|UNIQUE|INDEX|CHECK] [pk_xx_..|uk_xx_..|idx_xx_..|chk_xx..](xx,xx,..)
  5. ADD UNIQUE(id) // 给id 增加唯一约束
  6. ADD CONSTRAINT uc_PersonID UNIQUE (id,name) // 命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束
  7. ADD PRIMARY KEY (id) // 添加主键 id
  8. // 添加主键 pk_PersonID,值由id和name构成
  9. ADD CONSTRAINT pk_PersonID PRIMARY KEY (id,name);
  10. ADD CHECK (student_count > 0); // 添加check约束,学生人数大于0
  11. ADD CONSTRAINT chk_courses CHECK (student_count > 0 AND teacher_id > 0); // 多个字段添加check约束

5.5 删除列、唯一约束、主键约束、检查约束

  1. ALTER TABLE person
  2. DROP aa // 删除列 aa
  3. // DROP 约束符 约束名字 主键直接删除,不需要名字,唯一约束也使用 index 约束符
  4. DROP INDEX uc_PersonID; DROP INDEX id; // 删除唯一约束
  5. DROP PRIMARY KEY // 删除主键约束
  6. DROP CHECK chk_courses // 删除check约束

5.6 默认约束

  1. // 添加
  2. ALTER TABLE `Persons`
  3. ALTER `City` SET DEFAULT 'SANDNES'
  4. // 删除
  5. ALTER TABLE `Persons`
  6. ALTER `City` DROP DEFAULT