【MySQL】修改数据表,修改表名,修改字段数据类型与修改字段名

2,359 阅读3分钟

本人已参与「新人创作礼」活动,一起开启掘金创作之路。

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

目录

194ACD70.jpg

今天阿文介绍的内容:

  • 修改数据表
  • 如何修改表名?
  • 如何修改字段的数据类型?
  • 如何修改字段名?

修改数据表

修改表指的是修改数据库中已经存在的数据表的结构。MySQL使用ALTER TABLE语句修改表。常用的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。

1.修改表名

MySQL是通过ALTER TABLE语句来实现表名的修改的。

1.1语法规则如下:

ALTER TABLE <旧表名> RENAME [TO] <新表名>;

其中,TO为可选参数,使用与否均不影响结果。

1.2例如将employ表改名为employee,SQL语句如下:

ALTER TABLE employ RENAME employee;

修改前的表名为employ:

image.png

修改后的表名为employee:

image.png

提示:在修改表名称时使用DESC命令查看修改前后两个表的结构,修改表名并不修改表的结构,因此修改名称后的表和修改名称前的表的结构必然是相同的。

2.修改字段的数据类型

修改字段的数据类型,就是把字段的数据类型转换成另一种数据类型。

2.1在MySQL中修改字段数据类型的语法规则如下:

ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

其中,“表名”指要修改数据类型的字段所在表的名称,“字段名”指需要修改的字段,“数据类型”指修改后字段的新数据类型。

2.2例如将employee表中的name字段的数据类型修改成VARCHAR(50):

ALTER TABLE employee MODIFY name VARCHAR(50);

修改前name的数据类型为VARCHAR(30):

image.png 修改后name的数据类型为VARCHAR(50):

image.png

3.修改字段名

在MySQL中,可以通过SQL语句修改表中字段名。

3.1MySQL中修改表字段名的语法规则如下:

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

其中,“旧字段名”指修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指修改后的数据类型,如果不需要修改字段的数据类型,将新数据类型设置成与原来一样即可,但数据类型不能为空

3.2例如将employee表中location字段修改成loc,数据类型保持不变:

ALTER TABLE employee CHANGE location loc VARCHAR(50);

修改前的字段名为location且其数据类型为VARCHAR(30):

image.png 修改后的字段名为loc且数据类型为VARCHAR(50):

image.png 可以看到不仅字段名修改了,数据类型的大小也改变了。

提示: CHANGE也可以只修改数据类型,实现和MODIFY同样的效果,方法是将SQL语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”。由于不同类型的数据在机器中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录,因此当数据库表中已经有数据时,不要轻易修改数据类型。

总结

  • 修改表名的SQL语句:ALTER TABLE <旧表名> RENAME [TO] <新表名>;
  • 修改字段类型的SQL语句:ALTER TABLE <表名> MODIFY <字段名> <数据类型>;
  • 修改字段名的SQL语句:ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;

OK,阿文今天就介绍就到此为止吧,再介绍就不礼貌了!

194BE2F7.jpg