alter table tablename add columnname varchar(20) default null; //默認爲空 alter table tablename add columnname varchar(20) not null; //默認不爲空
alter table tablename drop column 字段名
alter table tablename modify columnname newcolumnname varchar(20);
alter table tablename modify columnname varchar(20);
能夠經過alter table 和 drop index刪除表的索引,drop index能夠在alter table 內部做爲爲一條語句處理,具體以下:shell
shelldrop index index_name on tablename alter table tablename drop index index_name alter table tablename drop primary key
前兩句是等價的,刪除掉tablename中的索引index_name
第三條語句只是在刪除primary key索引時使用,由於一個表只可能有一個priamry key索引,所以不須要指定索引名。
若是從表中刪除了某列,則索引會受到影響。對於多數組合的索引,若是刪除其中的某列,則該列也從索引中刪除。若是刪除組合索引的全部列,則整個索引將被刪除。數組
刪除索引
MariaDB [TecentAct]> alter table act drop index index_pid;
ERROR 1091 (42000): Can't DROP 'index_pid'; check that column/key existscode
MariaDB [TecentAct]> alter table act drop index pid_index;
ERROR 1091 (42000): Can't DROP 'pid_index'; check that column/key exists索引