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;