mysql修改表结构语句

mysql 修改表结构,字段等信息

 

一、查看表信息

1:查看建表语句
show create table test_a;
2:查看表字段信息
DESC test_a;

 

二、建表语句

CREATE TABLE `test_a` (
`id` char(32) NOT NULL COMMENT '主键ID',
`work_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增列',
`creator_id` char(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modifier_id` char(32) DEFAULT NULL COMMENT '修改人',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1 启动 0 停用',
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除标记:0、未删除 1、已删除',
`handle_mission` tinyint(1) unsigned zerofill DEFAULT NULL COMMENT '手动完成,0,正常上刊任务;1,手动完成任务',
`signed_customer` varchar(64) DEFAULT NULL COMMENT '签约客户',
# 主键索引
PRIMARY KEY (`id`) USING BTREE,
# 唯一索引
UNIQUE KEY `index_id` (`id`) USING BTREE,
# 索引
KEY `index_signed_customer` (`signed_customer`) USING BTREE,
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4

unsigned:无符号。常用于一些数据不能为负数的场合。增大数据类型的可用范围,我们在查看数值类型的可用范围时,通常都会有一个无符号范围,这个无符号范围就是在数值类型中添加了unsigned。假如:一个数值类型的可用范围为-10~10,那么他的无符号范围就是0~20,你可以理解为数值类型加上unsigned,可以使数值类型的正数范围翻倍。
 zerofill:   作用是填充0。在字段中数据类型规定的范围中,若是插入的数据不满足范围,则会使用空格作为填充,使其符合要求,而zerofill则会将空格改为0。
 ENGINE=InnoDB   使用 InnoDB 引擎
 AUTO_INCREMENT=100   从100开始自动递增
 DEFAULT CHARSET=utf8mb4    默认的编码格式 utf8mb4
 USING BTREE:  索引方法使用BTREE.
 索引方法包含BTREE、HASH
1.HASH(用于对等比较,如"="和" <=>") //<=> 安全的比对 ,用与对null值比较,语义类似is null()
2.BTREE(用于非对等比较,比如范围查询)>,>=,<,<=、BETWEEN、Like

 

三、 修改表信息

1.修改表名 
alter table test_a rename to test_b;

2.修改表注释 
alter table test_a comment 'test_a字段注释';

 

四、修改表字段信息

1.修改字段类型
alter table test_a modify column user_name text;

2.修改字段类型和注释
alter table test_a modify column user_name varchar(20) COMMENT '用户名字';

3.设置字段允许为空
alter table test_a modify column user_name varchar(255) default null COMMENT '用户名字';

4.修改为自增主键
alter table test_a modify column a_id int(5) auto_increment ;

5.修改字段名字(要重新指定该字段的类型)
alter table test_a change user_name user_name2 varchar(255) not null comment '其他的备注信息';

 

五、给表增加字段

1.增加一个字段,设好数据类型,且不为空,添加注释
alter table test_a add user_name varchar(255) not null comment '用户名字';

2.给字段增加主键
alter table test_a add primary key (a_id);

3.增加一个字段(a_id)并设置为主键 
alter table test_a add a_id int(5) not null , add primary key (a_id);

4.增加字段并设置为自增主键
alter table test_a add a_id int(5) not null auto_increment , add primary key (a_id);

 

六、删除表字段

1.删除字段
alter table test_a drop user_name;

 

七、其他

1.在某个字段(a_id)后增加字段
alter table test_a add column user_age int(4) not null default 0 AFTER a_id;

2.调整字段顺序 #(注意gateway_id出现了2次)
alter table test_a change user_age user_age int not null AFTER a_id ;

 

 

 

 

 

 

 

 

 

posted @ 2018-09-15 10:41  邓维-java  阅读(29357)  评论(1编辑  收藏  举报