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;