mysql笔记3

MySQL 字段、索引的操做

  • 增长字段
  • 删除字段
  • 修改字段名
  • 修改字段名类型
  • 删除索引

增长字段

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

相关文章
相关标签/搜索