mysql alter table 语法实例讲解

时间:2015-12-11
mysql中ALTER TABLE用于更改原有表的结构。例如,您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型。本文章通过实例一次讲解alter的用法。

增加字段:

ALTER TABLE table_name ADD field_name field_type;


修改原字段名称及类型:

ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:

ALTER TABLE table_name DROP field_name


举例
修改为自增

alter table tb_name modify id int auto_increment primary key


修改字段默认值

alter table tablename alter column drop default; (若本身存在默认值,则先删除)
alter table tablename alter column set default 't5';(若本身不存在则可以直接设定)


增加主键

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);


增加一个新列

alter table t2 add d timestamp;
alter table infos add ex tinyint not null default '0';


删除列

alter table t2 drop column c;


重命名列

alter table t1 change a b integer;


改变列的类型

alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';


重命名表

alter table t1 rename t2;


加索引

alter table tablename add index 索引名 (字段名1[,字段名2 …]);
alter table tablename add index emp_name (name);

加主关键字的索引

alter table tablename add primary key(id);


加唯一限制条件的索引

alter table tablename add unique emp_name2(cardnumber);


删除某个索引

alter table tablename drop index emp_name;