【MySQL】修改字段的排列顺序、更改存储引擎与删除外键约束

511 阅读3分钟

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

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

目录

1C55B42E.gif 今天阿文介绍的内容为:

  • 如何修改字段的排列位置
  • 如何修改表的存储引擎
  • 如何删除表的外键约束

1.修改字段的排列位置

对于一个数据表来说,在创建的时候,字段在表中的排列顺序就已经确定了,但表的结构并不是完全不可以改变的,可以通过ALTER TABLE来改变表中字段的相对位置。语法格式如下:

ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;

参数说明

  • “字段1”指要修改位置的字段;
  • “数据类型”指“字段1”的数据类型;“FIRST”为可选参数,指将“字段1”修改为表的第一个字段;
  • “AFTER字段2”指将“字段1”插入到“字段2”后面。

1.1修改字段为表的第一个字段

1.1.1例如将数据表employee中的id字段修改为表的第一个字段

语法格式如下:

ALTER TABLE employee MODIFY id INT(11) FIRST;

修改之前employee表的结构:

image.png

修改之后employee表的结构:

image.png 在SQL语句执行后,employee表的id字段被设置到了第一列。

1.2修改字段在目标字段后面

1.2.1例如将数据表employee中的column1字段修改到gender字段后面。

语法格式如下:

ALTER TABLE employee MODIFY column1 INT(11) AFTER gender;

修改之前employee表的结构:

image.png

修改之后employee表的结构:

image.png

在SQL语句执行后,employee表的column1字段被设置到了gender字段后面。

小结

修改字段的排列顺序其实就是修改数据类型的SQL语句加上关键字FIRSTAFTER,其中修改字段的数据类型不用改变。

2.更改表的存储引擎

存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现。可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎。MySQL中主要的存储引擎有MyISAM、InnoDB、MEMORY(HEAP)、BDB、FEDERATED等。可以使用“SHOW ENGINES;”语句查看系统支持的存储引擎。下列表列出了MySQL所支持的存储引擎:

引擎名是否支持
FEDERATED
MRG_MYISAM
MyISAM
BLACKHOLE
CSV
MEMORY
ARCHIVE
InnoDB是,默认的存储引擎
PERFORMANCE_SCHEMA

2.1更改表的存储引擎的语法格式如下:

ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

2.2例如将数据表employee的存储引擎修改为MyISAM:

语法格式如下:

ALTER TABLE employee ENGINE=MyISAM;

修改之前employee表的结构:

image.png 可以看到在MySQL中默认的存储引擎为InnoDB

修改之后employee表的结构:

image.png

在MySQL执行后,employee表的存储引擎修改为了MyISAM

3.删除表的外键约束

对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表和从表间的关联关系,MySQL中删除外键的语法格式如下:

ALTER TABLE <表名>  DROP FOREIGN KEY <外键约束名>;

参数说明:

“外键约束名”指在定义表时CONSTRAINT关键字后面的参数。

3.1例如将employee表与manager表的外键约束删除

代码格式如下:

ALTER TABLE employee DROP FOREIGN KEY fk_employee_manager;

删除前employee表的结构:

image.png

删除后employee表的结构:

image.png

在SQL语句成功执行后,employee表的外键成功删除了。


总结

  • 修改字段的排列顺序
  • 更改数据表的存储引擎
  • 删除外键约束

好了,今天阿文就介绍到这,求个点赞o( ̄▽ ̄)d

1C5543F0.jpg