本人已参与「新人创作礼」活动,一起开启掘金创作之路。
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
目录
今天阿文介绍的内容为:
- 如何修改字段的
排列位置? - 如何修改表的
存储引擎? - 如何删除表的
外键约束?
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表的结构:
修改之后employee表的结构:
在SQL语句执行后,employee表的id字段被设置到了第一列。
1.2修改字段在目标字段后面
1.2.1例如将数据表employee中的column1字段修改到gender字段后面。
语法格式如下:
ALTER TABLE employee MODIFY column1 INT(11) AFTER gender;
修改之前employee表的结构:
修改之后employee表的结构:
在SQL语句执行后,employee表的column1字段被设置到了gender字段后面。
小结
修改字段的排列顺序其实就是修改数据类型的SQL语句加上关键字
FIRST或AFTER,其中修改字段的数据类型不用改变。
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表的结构:
可以看到在MySQL中默认的存储引擎为
InnoDB。
修改之后employee表的结构:
在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表的结构:
删除后employee表的结构:
在SQL语句成功执行后,employee表的外键成功删除了。
总结
- 修改字段的排列顺序
- 更改数据表的存储引擎
- 删除外键约束
好了,今天阿文就介绍到这,求个点赞o( ̄▽ ̄)d