一.添加主键约束
1.使用DDL语句添加主键约束
alter table 表名 add primary key(列名); 示例: alter table emp add primary key(employee_id);2.主键自增长
Mysql中的自动增长类型要求:
(1)一个表中只能有一个列为自动增长。
(2)自动增长的列的类型必须是整数类型。
(3)自动增长只能添加到具备主键约束与唯一性约束的列上。
(4)删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然后在删除约束。
alter table 表名 modify 主键 类型 auto_increment; 示例: 将emp表中的employee_id主键修改为自增。 alter table emp modify employee_id int auto_increment;3.在navicat中添加主键约束,打开对应表——设计表——一行的后面有个小钥匙即为添加约束成功,选中那一列,下方会显示自动递增,需要的话选中即可。
二.删除主键
1.使用DDL语句删除主键
alter table 表名 drop primary key; 示例: 注意:删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后在删除主键。 1.去掉自动增长 alter table emp modify employee_id int; 2.删除主键 alter table emp drop primary key;2.使用navicat删除主键
直接设计表,然后点击小钥匙,去掉自动增长功能即可。
三.添加外键约束
1.使用DDL语句
alter table 表名add constraint 约束名 foreign key(列名) references 参照的表名(参照的列名); 示例: 1.创建部门表包含department_id,department_name,location_id. create table departments(department_id int,department_name varchar(30),location_id int); 2.修改部门表,向department_id列添加主键约束和自动增长 alter table departments add primary key(department_id); alter table departments modify department_id int auto_increment; 3.修改emp表,添加dept_id列。 alter table emp add column dept_id int; 4.向emp表中的dept_id列添加外键约束 alter table emp add constraint emp_fk foreign key(dept_id) references departments(department_id);2.使用navicat添加
点击emp表,设计表——选择外键,在对应处输入我们要约束的内容即可。
四.删除外键约束
1.使用DDL语句
alter table 表名 drop foreign key 约束名; 示例: alter table emp drop foreign key emp_fk;2.在navicat中删除外键
选中表——设计表——外键——右键删除即可。