详解mysql修改表知识点 mysql修改表结构对表中记录的影响
数据分析sql入门篇-sql表的操作(上篇):创建表 查看表结构 表信息」主要对数据库中「表的操作」中的创建表、查看表结构、查看表的详细建表信息等一系列的基本操作进行了一些基本介绍,文章中也给出了一些简单的案例 。本篇文章主要对mysql中「表的操作」中的修改表系列做一个全面的介绍,通过学习,可以对mysql中修改表名、修改字段名、修改字段的数据类型、增加字段、删除字段、修改字段备注、修改字段的顺序进行一个全面的了解 。
修改表:语法:
ALTER TABLE <表名> [修改选项]
说明:
1)[修改选项]为需要修改的表的内容,可以为“表名”、“字段名称”、“字段类型”等 。
下面分别介绍一些常用的修改表的操作,具体如下:
修改表名、修改字段名、修改字段的数据类型、增加字段、删除字段、修改字段备注、修改字段的顺序 。
(1)修改表名:语法:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
说明:
1)[]中的内容是可选填的,可以不写to 。
案例:将已存在的class表名修改为tb_class 。
具体操作如下:
先查看已有的表class,使用如下sql语句:
show tables;
结果如下:
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/42483f5b83b240c4b942f57f348c2775.jpg)
文章插图
修改表名前
再将已存在的class表名修改为tb_class,sql语句如下:
alter table class rename to tb_class;
再次查看表,运行结果如下:![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/67b7d5af2097428da1c383f80068a8a8.png)
文章插图
修改表名后
(2)修改字段名:语法:
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
说明:1)修改表中字段名称用的是change,不是modify,请注意;
2) <新数据类型>不能为空,如果不需要修改字段的数据类型,可以设置跟原数据类型一样 。
案例:将表tb_class中的字段名称id改为stu_id,同时将数据类型由int改为varcha(25) 。
具体操作如下:
先查看修改前tb_class表的结构:
代码如下:
desc tb_class;
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/12859118aae8480d8e954f211ae4d387.png)
文章插图
修改字段id前的表结构
再执行如下代码,将表tb_class中的字段名称id改为stu_id,同时将数据类型由int改为varcha(25):
alter table tb_class change id stu_id varchar(25);
再查看修改字段名称后tb_class表的结构:desc tb_class;
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/b746bd3541114bffa5c7fab5d204639a.png)
文章插图
修改字段id后的表结构
(3)修改字段的数据类型:语法:
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;
说明:1)<字段名> 指需要修改数据类型的字段;
2)<数据类型>指修改后的新数据类型;
3)修改字段的数据类型用的是modify,修改字段名用的是change,不要弄混淆了 。
案例:将表tb_class中的字段名stu_id的数据类型由varchar(25)改为int 。
具体操作如下:
执行如下代码,可以将stu_id的数据类型由varchar(25)改为int:
alter table tb_class modify stu_id int;
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/90c111048f6447ae95012858ee6d78ac.png)
文章插图
修改数据类型前
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/23137c4a9083453b89e9d247f6d93ab1.png)
文章插图
修改数据类型后
(4)增加字段:在实际工作中,随着业务的变化,有时候需要在已经建好的表中增加新的字段,mysql支持在已建好的表中的特定位置新增加字段操作的 。
语法:
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
说明:1)[FIRST|AFTER 已存在的字段名]用于指定新增加的字段在表中的位置,FIRST将新增加的字段放在表的第一列,AFTER将新增加的字段放在指定的已存在的字段后面;
2)[FIRST|AFTER 已存在的字段名]为可选项,如果不指定位置,默认将新添加的字段放在表的最后一列;
3) [约束条件] 为可选项,可不填 。
案例:在表tb_class中的name字段后新增一个数据类型为char(25)的字段sex 。
具体操作如下:
先查看表tb_class的结构:
desc tb_class;
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/c9624abef6ac423a9a2f5076d66d2e89.png)
文章插图
原表结构
执行如下代码,可以在表tb_class中的name字段后新增一个数据类型为char(25)的字段sex:
alter table tb_class add sex char(25) after name;
结果如下:![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/7b648700b8be47d8b6dd620227bf8b4b.png)
文章插图
增加字段后表结构
已经成功的在表tb_class新增加一个数据类型为char(25)的字段sex,并放置在特定的字段name后 。
(5)删除字段:语法:
ALTER TABLE <表名> DROP <字段名>;
案例:删除表tb_class中的字段sex 。具体操作如下:
alter table tb_class drop sex;
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/4a73fa3ec9064c0f9b905ff8e65b464c.png)
文章插图
删除字段前
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/e274ad29af1d45f19831620ad8b2b69a.png)
文章插图
删除字段后
(6)修改字段备注:语法:
1)修改表的注释:
alter table <表名> comment '修改后的表的注释';
2)修改表中字段的注释alter table <表名> modify column <字段名> <字段类型> comment '修改后的字段注释';
案例1:修改表tb_class的注释为’学生班级表’ 。具体操作如下:
先查看表tb_class的的详细建表信息:
show create table tb_studentG
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/af4bdb6bcb8e4e9cb96c06f373e755be.png)
文章插图
表tb_class原注释
通过查询结果可知,表tb_class原注释为’班级表’ 。
执行如下代码,修改表tb_class的注释为’学生班级表’:
alter table tb_class comment '学生班级表';
结果如下:![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/1588dfc496ad4ed69d29bfad7dce0b54.png)
文章插图
修改后表tb_class注释
案例2:修改表tb_class的字段class的注释为’班级’ 。
具体操作如下:
先查看表tb_class的的详细建表信息:
show create table tb_studentG
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/dcd2ba0685e4457cbdfb389a3a7970e7.png)
文章插图
表中原注释查询结果
通过查看表的详细建表信息可知,原来表中字段class没有注释 。
执行如下代码,为表tb_class中字段class添加注释为’班级’:
alter table tb_class modify column class varchar(255) comment '班级';
结果如下:![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/ba738fc64ecc4d378822ae0ae8593c2b.png)
文章插图
修改字段class注释后的查询结果
(7)修改字段顺序:语法:
可以用以下两种方法都可以实现更改字段顺序 。
1)ALTER TABLE <表名>MODIFY <字段1> <数据类型> FIRST;2)ALTER TABLE <表名>MODIFY <字段1> <数据类型> AFTER <字段2>;
说明:1)将字段名为<字段1>,数据类型为<数据类型>的字段放在表的开头;
2)将字段名为<字段1>,数据类型为<数据类型>的字段放置于字段<字段2>后面 。
案例1:将表tb_class中的字段name放在表的开头 。
具体操作如下:
执行如下代码,可以将字段name放在表的开头:
alter table tb_class modify name varchar(255) first;
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/2c701f41719d4642bc77fefd11bbf4a8.png)
文章插图
修改字段顺序前
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/7b0f4a7fd08a403eba7d05ed8b3283d4.png)
文章插图
修改字段顺序后
案例2:将表tb_class中的字段name放在字段stu_id之后 。
具体操作如下:
执行如下代码,可以将字段name放在字段stu_id之后:
alter table tb_class modify name varchar(255) after stu_id;
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/c1a635018c304132aee5b8373ca33177.png)
文章插图
修改字段顺序前
![详解mysql修改表知识点 mysql修改表结构对表中记录的影响](https://www.changchenghao.cn/wp-content/uploads/2021/07/f2b4a5a6e9124e19bfd9a8fdfb56f8c0.png)
文章插图
修改字段顺序后
在上一篇文章「数据分析sql入门篇-sql表的操作(上篇):创建表 查看表结构 表信息」的基础上,本篇文章进一步对「表的操作」中的「修改表」系列进行了详细的语法介绍和解析,为了方便理解,也给出了一系列案例,这些命令作为了解数据库的入门基础都是必不可少的,如果正在学习数据库,可以收藏起来以备不时之需,欢迎小伙伴们留言,一起讨论,共同进步 。
【详解mysql修改表知识点 mysql修改表结构对表中记录的影响】下篇文章将会对「表的操作」中的清空表、删除表等一些基本的数据库操作做进一步的介绍,敬请期待呀 。
推荐阅读
- 详解arcgis主要功能 arcgis主要用来干什么
- win7系统电脑如何修改字体呢
- 简述oracle索引和mysql索引的区别 oracle索引原理和使用
- 机顶盒刷机教程 机顶盒刷机步骤详解与注意事项
- 安卓修改手机定位的app推荐 ubuntu无法定位软件包位置
- 详解word排版字体标准格式 word字体设置在哪里
- 实例模板详解其优缺点 线下渠道的优势和劣势
- 超详解析两者优劣势 全民k歌和唱吧哪个好用
- 图文详解字体更换教程 苹果手机如何换字体样式
- 详解苹果耳机连接教程 苹果耳机怎么连接安卓手机