昨儿和大家一起看了,如何创建表,及建表过程中的注意事项,今天我们继续针对表的操作来分享,主要是关于如何针对表进行,添加、修改和删除字段等内容,具体我们来一起看下。

前期的准备工作,还是一样的,进入mysql,进入我们自己创建的数据库mysql_test,找到需要修改的表,先来看一下目前表的结构:

desc emp;




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构

查看表结构



目前我们是三个字段,表名称是emp,现在想修改表名称为t_emp,具体命令如下:

alter table emp rename t_emp;




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构_02

修改表的名称



显示成功,来验证一下,显示一下所有的表,看名称是否修改完成:

show tables;




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构_03

查看数据库下的表



看到上图中,只有一张t_emp的表,表示修改成功了。

现在我们来追加一个字段,加一个员工生日birthday,具体命令如下:

alter table t_emp add column birthday date;




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构_04

追加birthday字段



显示添加成功,注意,这里添加的字段,是默认在最后面追加的,而且在添加字段的时候,需要将字段名称,及对应的字段类型,都说明清楚,不然无法添加。我们来看下添加效果:

desc emp;




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 删除schema中所有表_05

查看最新表的结构



呀,这里怎么会报错呢?我们看下这段话是啥意思,是说mysql_test数据库下的emp表不存在?为什么呢?明明一开始建的时候是有的呀?原来我们之前已经改过表的名称为t_emp,所以这里的命令需要更新的:

desc t_emp;




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构_06

查看最新表的结构



这样就能看到表的最新结构,可以看到最后一列,就是我们新增的生日这个字段。那若是我们想在指定列后面增加字段,应该如何操作呢?

我们需要在姓名后面,增加一个年龄age的字段,命令如下:

alter table t_emp add age int(2) after ename:




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 删除schema中所有表_07

在指定列后面添加字段



修改成功之后,看一下效果:

desc t_emp;




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构_08

查看最新的表结构



这样就看到age这个字段,就在ename后显示了。今天和大家有个互动,大家可以思考一下,若是我想在birthday列之前插入一个dept_id int(6),那应该如何操作呢?大家可以想一想,随意发挥哦~

若是要删除字段呢,我先将dept_id的字段添加进去,然后练习一下删除这个字段,先来看一下表,目前是有dept_id这个字段的:




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 删除schema中所有表_09

添加新的字段dept_id



现在我们删除一下:

alter table t_emp drop dept_id;

再对比一下,表中已经删除这个字段了。




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 删除schema中所有表_10

对比删除前后的表结构



那若是要修改表中的age字段,长度由int(2),变更为int(3):

alter table t_emp modify age int(3);

修改之后,再做对比,修改已成功。




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构_11

对比修改前后的表结构



修改长度用modify,那若是既修改类型,又修改长度呢?将年龄改成t_age,长度为4:

alter table t_emp change age t_age int(4);

再对比一下,很明显,已经修改成功了。




mysql配置文件 sql修改超时时间 mysql如何修改配置文件_db2 查看表结构_12

对比更新前后的表结构



基本上,针对表的添加、修改、删除字段,就这些内容了,各位有什么问题么?若是有问题欢迎留言或私信我,我们一起学习,一起成长。

PS:记得上面遗留的一个小问题哦?

若是我想在birthday列之前插入一个dept_id int(6),应该如何操作呢,我们下次再聊。