use database_name;
alter table table_name change field_name_old field_name_new varchar(256) NOT NULL COMMENT '五级分类名', ADD INDEX index_name ( `name` (32)), ADD INDEX index_time ( `timeId` );
# 添加主键:
alter table table_name add primary key(id);
alter table table_name add primary key(user,host,db);
# 单列主键
# 多列联合主键
# 添加唯一索引:
alter table table_name add unique uq_name(column_name_one,column_name_two);
# 添加普通索引:
alter table table_name add index uq_name(column_name_one,column_name_two);
# 其中的column关键字可以省略。
# 添加新列到最后面
alter table table_name add column column_name varchar(255) not null default '0' comment 'comment something';
# 添加新列到最前面
alter table table_name add column column_name varchar(255) not null default '0' comment 'comment something' first;
# 添加新列到指定列后面
alter table table_name add column column_name varchar(255) not null default '0' comment 'comment something' after column_name_other;
# 其中的column关键字可以省略。
# 删除某列
alter table table_name drop column column_name;
# 修改列名称或列其他信息。可修改列名称、列类型、列参数。
alter table table_name change column_name_old column_name_new varchar(64) not null default '' comment '注释';
# 仅仅调整列的顺序
alter table table_name change column_name column_name varchar(255) not null default '0' comment 'comment something' after column_name_other;
# modify只能修改列类型和列参数,不能修改列名称。
alter table table_name modify column_name varchar(64) not null default '' comment '注释';
# 修改表的名称:
alter table table_name_old rename to table_name_new;
# 修改表的存储引擎:
alter table table_name engine=MyISAM;
# 修改表的字符集:
alter table table_name charset=utf16;
# 修改表的行记录格式:
alter table table_name row_format=compressed;
# 修改表的自增初始值:
alter table table_name auto_increment=100;
# 修改表的注释:
alter table table_name comment='注释修改';
# 删除主键:
alter table table_name drop primary key;
# 不管是单列主键还是多列复合主键,都是这个语句。
# 但是如果主键自增类型,则需要先将其自增属性去掉,alter table table_name modify column_name_old column_name_new type;
# 删除外键:
alter table table_name drop foreign key key_name;