1 修改字段类型、字段名、字段注释、类型长度、字段默认值

mysql修改字段类型:

– 能修改字段类型、类型长度、默认值、注释,不能修改字段名 – 对某字段进行修改

ALTER  TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度  新默认值  新注释;

– 正常,能修改字段类型、类型长度、默认值、注释

alter  table table1 modify  column column1  decimal(10,1) DEFAULT NULL COMMENT '注释';

– eg:

 alter table user modify column status varchar(2) DEFAULT '0' COMMENT '状态信息';

– COLUMN关键字可以省略不写

 alter  table table1 modify column1  decimal(10,2) DEFAULT NULL COMMENT '注释'; 

– eg:

 alter table user modify status varchar(2) DEFAULT '0' COMMENT '状态信息1111';

mysql修改字段名:

– 正常,能修改字段名,字段类型、类型长度、默认值、注释 [column]关键字可以省略

ALTER  TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型,新类型长度  新默认值  新注释;

– 正常,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释

 alter  table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注释'; 

– eg:

 alter table user change status user_status varchar(2) default '0' comment '用户状态';

– eg: 不改字段名只改其他数据 不可省略一个字段名 报错

 alter table user change user_status varchar(2) default '1' comment '用户状态';

– 报错 省略字段类型、类型长度、默认值、注释

 alter  table table1 change column1 column2; 

– eg: 语法错误

 alter table user change status user_status;

2 修改表名,修改表的注释

 ALTER TABLE 旧表名 RENAME TO 新表名 ;

– eg:

 show tables;

– 修改表名

 alter table user rename to system_user;

– 修改表的注释

 ALTER TABLE 表名 COMMENT '新注释'

– eg:

 show create table system_user;

 alter table system_user comment '系统用户表';

3.在指定位置插入新字段

– COLUMN关键字可以省略不写

 ALTER TABLE 表名 ADD [COLUMN] 字段名 字段类型 是否可为空 COMMENT '注释' AFTER 指定某字段 ;

– eg: 在 nickname 后插入 性别字段 sex

 alter table system_user add column sex char(1) not null  comment '性别' after nickname ;

 alter table system_user add column sex2 char(1) not null default '男'  comment '性别'  after nickname ;

– eg; 不写位置 默认最后面开始加

 alter table system_user add column sex3 char(1) not null default '男'  comment '性别';

– eg: 报错,在position字段前添加mobile字段,不能使用before关键字

 alter table system_user add column  sex4 char(1) not null comment "男" before nickname ;

4 删除字段

– COLUMN关键字可以省略不写

 ALTER TABLE 表名 DROP [COLUMN] 字段名 ;

– eg:

 alter table system_user drop column sex2;

 alter table system_user drop sex4;