mysql修改表结构,add,change,alter,modify

创建表test_score

create table test_score
(
`id` int(10) not null,
`socre` DOUBLE(6,2) not null
)ENGINE=INNODB DEFAULT charset=utf8 COMMENT='成绩表'

1.1、新增列(add)

建好表之后,我发现缺少科目,这时通过add column新增列。

alter table test_score add column `subject` VARCHAR(16) NOT NULL;
alter table test_score add column `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP;

1.1、修改列名(change)

突然发现score这个单词拼错了score,这时可以通过rename来修改列名称

ALTER table test_score change  COLUMN socre score int(3) not null;

1.2、修改列类型(modify)

由于业务拓展,发现学科subject 16位不够,需要扩展为64位,modify也支持类型的修改,比如,开始sore

ALTER table test_score MODIFY subject varchar(64) not NULL DEFAULT 0;
ALTER table test_score MODIFY score double(5,2) not NULL DEFAULT 0;

1.3、修改列默认值(alter)

新增列,老年痴呆,又忘了设置默认值,通过alter可以实现修改/设置默认值

alter table test_score alter column subject set default 0;

 

你可能感兴趣的:(mysql)