一、修改字段
1. mysql修改字段类型:
能修改字段类型、类型长度、默认值、注释
,不能修改字段名
命令:
对某字段进行修改,COLUMN关键字可以省略不写
ALTER TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度 新默认值 新注释;
# 正常,能修改字段类型、类型长度、默认值、注释
alter table table1 modify column column1 decimal(10,1) DEFAULT NULL COMMENT '注释';
alter table table1 modify column1 decimal(10,2) DEFAULT NULL COMMENT '注释';#去掉column
2. mysql修改字段名:
命令:
ALTER TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型;
#修改字段名字:把class改为nianji;
mysql> alter table student change class nianji varchar(10) ;
#正常,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释
alter table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注释';
#-- 正常,能修改字段名、字段类型、类型长度、默认值、注释
alter table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注释'
#-- 正常,能修改字段名、字段类型、类型长度、默认值、注释
alter table table1 change column2 column1 decimal(10,1) DEFAULT NULL COMMENT '注释'
# -- 报错
alter table table1 change column1 column2;
3.字段的其他操作
- 添加指定位置字段
命令:
#--COLUMN关键字可以省略不写,只能使用after命令,不能使用before命令,否则会报错
ALTER TABLE 表名 ADD [COLUMN] 字段名 字段类型 是否可为空 COMMENT '注释' AFTER 指定某字段 ;
在name字段后面添加性别字段,无符号整形,默认值是1;
mysql> alter table student add sex int(2) unsigned default 1 after name;
- 删除字段
命令:
ALTER TABLE 表名 DROP [COLUMN] 字段名 ;
--COLUMN关键字可以省略不写
删除sex字段:
mysql> alter table user drop sex;
-
修改字段名字:把class改为nianji;
mysql> alter table student change class nianji varchar(10) ; -
嵌套查询插入:
快速插入行,测试的时候用的!呈2^n增长:
mysql> insert into ss(name ,nianji,score) select name,nianji,score from ss;
一会功夫就能把数据弄到上百万条。 -
Mysql切换调整字段顺序,不改变索引哦,完美解决方案!
mysql> alter table student modify id int(10) unsigned auto_increment first;
#将name修改到id后面
mysql> alter table student modify name varchar(10) after id;
二、修改表
1. 修改表名
命令:
ALTER TABLE 旧表名 RENAME TO 新表名 ;
#将表user修改为user_new
alter table user rename to user_new ;
2.修改表的注释
- 修改或者添加表备注:
(1)修改表备注
命令:
ALTER TABLE 表名 COMMENT ‘新注释’
alter table user_new comment '用户新表' ;