主键约束

  1. 每一个表格内 只有一个列被设置为主键
  2. 主键通常是用来标记表格中数据的唯一方法
  3. 主键要求当前列不能为null
  4. 主键要求当前列 值是唯一存在的 不能重复
  5. **alter table 表名 add constraint 约束名字 约束类型 (列)**
  6. 添加主键后可以 **desc 表名查看**
  7. 发现自己定义的约束没有没有用可以简写
  8. **alter table 表名 add primary key (列);**
  9. 让主键自增 **alter table 表名 modify 列名 类型(长度) auto_increment;**
  10. 删除主键约束 **alter table 表名 drop primary key;**删除的只是主键约束 不是列
  11. 删除后非空的约束仍然存在 **alter table myclass modify id int(4) null;**可以为null

唯一约束

可以给多个列设置唯一约束

**alter table 表名 add constraint 约束名字 unique key (列)** key关键字可以不写

简写alter table 表名 add unique key(列);默认约束名字是列名

删除约束 **alter table myclass drop index 约束名字**

非空约束

设置列不能为null
设置:alter table 表名 modify 列名 类型(长度) not null;
取消:alter table 表名 modify 列名 类型(长度) null;
设置默认值:设置:``alter table 表名 modify 列名 类型(长度) not null default '默认值';

外键约束

约束的自己表格的信息不能随意填写,收到另一个表格某一个列的影响
添加外键:**alter table 表名 add constraint 外键名字 foreign key(列) references 另一个表(列;**
删除外键:**alter table 表名 drop foreign key 外键名字;**
但是删除后有另外一个表的关系,会自动在当前表格里添加一个新的key,要手动将这个key删除,外键才算真的删除干净**alter table 当前表名 drop key key名字;**
外键的简写:**alter table 表名 add foreign key(列) references 另一个表(列);**
注意:如果是简写的效果添加外键 外键的名字不是默认的列名,在删除的时候要注意
查看外键名字:**show create table 表名;**