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索引