MySQL中对数据表的字段和表名修改——ALTER命令

297 阅读4分钟

「这是我参与2022首次更文挑战的第17天,活动详情查看:2022首次更文挑战

前言

  不知不觉今天到情人节了,很多小伙伴今天都被朋友圈的狗粮虐了一把吧,因为要和大佬聚会,放弃了和女神约会,未来的你一定会感谢现在拼命的自己!

  在数据库操作中,经常会遇到表名的修改,表字段的新增、修改、默认值设置等操作,都会使用到ALTER命令,那么开始介绍AlTER命令。

ALTER命令

  ALTER中文含义是修改,当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。那么一起熟悉一下ALTER命令吧,首先我们建一张表,还是使用前几天演示的那个数据库表。 创建表的SQL如下,全文将基于 s_user表进行学习。

CREATE TABLE `s_user` (
  `userid` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `pass_word` varchar(255) DEFAULT NULL,
  `salt` varchar(255) DEFAULT NULL,
  `state` varchar(255) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

修改表名

  当我们在设计表的时候,如果感觉表名设计的不合理,需要重新命名,那么使用ALTER TABLE 语句+RENAME 即可实现表名的重新命名。

修改表名语法

 ALTER TABLE old_table RENAME TO new_table;

示例:例如将现有的表 s_user重新命名为 user。执行语句如下:

ALTER TABLE s_user RENAME TO user;

执行结果:可以看到表名已经由 s_user重新命名为 user了。

图片.png

图片.png

新增字段

  随着业务的不断增长,现有的数据库表中字段可能无法满足当前业务,需要新增字段,那么使用 ALTER TABLE + ADD 即可新增字段。

新增字段语法

 ALTER TABLE table_name ADD COLUMN 字段信息;

示例:例如将现有的表 s_user中增加一个邮箱字段,且邮箱字段不能为空,将其加入到"name"后面。 通过分析,1、需要加字段;2、这个字段不能为空;3、这个字段需要加到指定字段后面。那么将要执行语句如下:

ALTER TABLE s_user
ADD COLUMN `email` varchar(50) NOT NULL  COMMENT '邮箱' AFTER `name`;

执行结果:可以看到表 s_user中已经新增字段 email了。

图片.png

图片.png

修改字段

  在设计表中,如果有某些字段含义命名不合理,需要修改字段名称,那么使用 ALTER TABLE + CHANGE 即可针对字段名进行修改。

修改字段语法

 ALTER TABLE table_name CHANGE 旧字段  新字段 类型;

示例:例如将现有的表 s_user中字段"user_name",修改为"nick_name"。那么将要执行语句如下:

ALTER TABLE s_user
CHANGE user_name nick_name varchar(50);

执行结果:可以看到表 s_user中已经将字段修改为 nick_name了。

图片.png

图片.png

修改字段类型

  在设计表中,如果有某些字段类型不满足实际需要,则需要对字段数据类型进行修改,那么使用 ALTER TABLE + MODIFY 即可针对字段类型进行修改。

修改字段类型语法

 ALTER TABLE table_name MODIFY  字段 类型;

示例:例如:现有的表 s_user中字段"state"字段数据类型设计不合理,现在将数据类型由“varchar”修改为“TINYINT(3)”。那么将要执行语句如下:

ALTER TABLE s_user
MODIFY  state TINYINT(3);

执行结果:可以看到表 s_user中已经将字段类型修改为 TINYINT(3)了。

图片.png

图片.png

删除字段

  在设计表中,随着业务调整,可能有部分字段需要去掉,那么使用 ALTER TABLE + DROP 即可针对字段类型进行删除。

删除字段类型语法

 ALTER TABLE table_name DROP  字段 ;

示例:例如:现有的表 s_user中字段"salt"字段数据类型设计不合理,将其删除。那么将要执行语句如下:

ALTER TABLE s_user
DROP  salt;

执行结果:可以看到表 s_user中已经将字段 salt删除了。

图片.png

图片.png

结语

  好了,以上就是MySQL中对数据表的字段和表名修改ALTER命令介绍,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。

  作者介绍:【小阿杰】一个爱鼓捣的程序猿,JAVA开发者和爱好者。公众号【Java全栈架构师】维护者,欢迎关注阅读交流。