昨儿和大家一起看了,如何创建表,及建表过程中的注意事项,今天我们继续针对表的操作来分享,主要是关于如何针对表进行,添加、修改和删除字段等内容,具体我们来一起看下。
前期的准备工作,还是一样的,进入mysql,进入我们自己创建的数据库mysql_test,找到需要修改的表,先来看一下目前表的结构:
descemp;
查看表结构目前我们是三个字段,表名称是emp,现在想修改表名称为t_emp,具体命令如下:
altertableemprenamet_emp;
修改表的名称显示成功,来验证一下,显示一下所有的表,看名称是否修改完成:
showtables;
查看数据库下的表看到上图中,只有一张t_emp的表,表示修改成功了。
现在我们来追加一个字段,加一个员工生日birthday,具体命令如下:
altertablet_empaddcolumnbirthdaydate;
追加birthday字段显示添加成功,注意,这里添加的字段,是默认在最后面追加的,而且在添加字段的时候,需要将字段名称,及对应的字段类型,都说明清楚,不然无法添加。我们来看下添加效果:
descemp;
查看最新表的结构呀,这里怎么会报错呢?我们看下这段话是啥意思,是说mysql_test数据库下的emp表不存在?为什么呢?明明一开始建的时候是有的呀?原来我们之前已经改过表的名称为t_emp,所以这里的命令需要更新的:
desct_emp;
查看最新表的结构这样就能看到表的最新结构,可以看到最后一列,就是我们新增的生日这个字段。那若是我们想在指定列后面增加字段,应该如何操作呢?
我们需要在姓名后面,增加一个年龄age的字段,命令如下:
altertablet_empaddageint(2)afterename:
在指定列后面添加字段修改成功之后,看一下效果:
desct_emp;
查看最新的表结构这样就看到age这个字段,就在ename后显示了。今天和大家有个互动,大家可以思考一下,若是我想在birthday列之前插入一个dept_idint(6),那应该如何操作呢?大家可以想一想,随意发挥哦~
若是要删除字段呢,我先将dept_id的字段添加进去,然后练习一下删除这个字段,先来看一下表,目前是有dept_id这个字段的:
添加新的字段dept_id现在我们删除一下:
altertablet_empdropdept_id;
再对比一下,表中已经删除这个字段了。
那若是要修改表中的age字段,长度由int(2),变更为int(3):
altertablet_empmodifyageint(3);
修改之后,再做对比,修改已成功。
对比修改前后的表结构修改长度用modify,那若是既修改类型,又修改长度呢?将年龄改成t_age,长度为4:
altertablet_empchangeaget_ageint(4);
再对比一下,很明显,已经修改成功了。
基本上,针对表的添加、修改、删除字段,就这些内容了,各位有什么问题么?若是有问题欢迎留言或私信我,我们一起学习,一起成长。
PS:记得上面遗留的一个小问题哦?
若是我想在birthday列之前插入一个dept_idint(6),应该如何操作呢,我们下次再聊。