首页 > 代码库 > 修改数据表——添加约束

修改数据表——添加约束

 

 

  比如,原来数据表根本就没有约束,或者说,约束不够。那么如何来添加约束呢?

 

 

添加约束

  1、添加主键约束(只能一个)

  2、添加唯一约束(可以多个)

  3、添加外键约束()

   4、添加默认约束()

 

 

 

 

 

 

  现在,先创建

技术分享

 

create table user2(
username  varchaer(10)  not  null ,
pid   smallint  unsigned 
);


show  columns  from  user2;

 

 

 

 

 

 

技术分享

alter table  user2  add  id  smallint  unsigned ;



show  columns  from  user2;

 

 

 

 

 

 

 

技术分享

 

 

  一、添加主键约束的语法结构

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

PRIMARY KEY [index_type] (index_col_name)

  CONSTRAINT是可以添加,也可以不添加。如果添加的话,表示为约束起名字的意思。

 

 

  比如我们为user2表中的id字段添加一个主键约束

技术分享

alter  table  user2  add   constraint  pk_user2_id   primary  key(id);



show  columns  from  user2;

 

 

 

 

 

 

 

技术分享

  二、添加唯一约束的语法结构

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

UNIQUE [INDEX|KEY] [index_name] [index_type]

(index_col_name,…)

 

  比如我们为user2表中的username字段添加唯一约束

技术分享

alter  table  user2  add  unique(username);



show  columns  from  user2;

 

 

 

 

 

 

 

 

  三、添加外键约束的语法结构

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]

FOREIGN KEY [index_name] (index_col_name,…)

reference_definition

  比如我们为user2表中的pid字段添加外键约束

技术分享

alter   table  user2   add  foregin  key(pid)   references   provinces(id);



show  columns  from  user2;

 

 

 

 

 

 

 

 

 

  四、添加/删除默认约束的语法结构

ALTER TABLE tbl_name ALTER [COLUMN] col_name

{SET DEFAULT literal | DROP DEFAULT}

 

比如我们为user2表中的age字段添加默认值为15

技术分享

  

alter   table   user2  alter  age  set  default  15;



show  columns  from  user2;

 

 

 

 

 

  当然我们也可以删除我们刚才设置的默认约束

技术分享

alter   table  user2   alter   age   drop   default;




show  columns  from  user2;

 

修改数据表——添加约束