聊过创建表之后,下面就是如何在表中添加内容了。不过咱们在讲之前,先把上次遗留的小问题,和大家一起来看下,还记得是啥问题来着?
之前我们说到,在表中的某个字段后面新增一个字段,使用after,然后我们就留了一个小问题,就是若是我想在birthday列之前插入一个dept_id int(6),应该如何操作呢?不知道有没有童鞋去试验,不知道是不是有小伙伴想到了before,我们试一下:
alter table t_emp add dept_id int(6) before birthday;
运行看下效果:
Error,报错了,为啥咧?看一下报错的原因,是让你查下代码是否正确,那就是说,before这个语句,MySQL识别不了,所以这个应该怎么做?其实这个就是面试中有可能会碰到的问题,一般问你这个问题的时候,整张表格肯定都会给你的,那就你直接看一下前面那个字段是什么,然后直接after即可,还是这个题目,我们看下:
alter table t_emp add dept_id int(6) after gender;
新增成功,验证一下:
desc t_emp;
dept_id这个字段,已经显示在birthday之前了,怎么样,不难吧?不过下面要讲的时候,暂时不需要这个字段,所以我们先删除,还记得删除字段的语句不?
alter table t_emp drop dept_id;
好了,那我们继续今天的内容,如何在表中插入字段,先来看下添加语句的语法:
语法: insert into 表(列...) value(列对应的值);
首先先来看一下,全字段插入:
insert into t_emp(id,ename,t_age,gender,birthday) value(1,'zhangsan',20,'M','1980-01-01');
成功之后,我们看一下表格中的数据,暂时我们先用这样的语句,后续我们再详细聊关于查询的语句:
select * from t_emp;
表格中,只有一条数据,就是我们刚刚插入进去的数据。
需要注意的是:
1、在全字段插入数据时候,可以不用写字段名称,这样是默认就是全字段插入的,不过这样容易造成数据不匹配,所以一般都会写清楚字段名称的;
2、正常在插入数据的时候,不需要输入id的,因为在创建表的时候,已经设置id是自动增长的,所以我们可以在插入的时候,直接输入null,再来试下:
insert into t_emp(id,ename,t_age,gender,birthday) value(null,'lisi',22,'F','1981-11-11');
然后再来看一下表的所有数据:
新增的第二条数据,id已经默认填充为2,所以在实际插入数据的时候,id是不需要输入的,下面再来看下多条数据插入,多条数据插入的时候,我们试一下,指定字段的方法:
insert into t_emp(ename,t_age) values('wangwu',29),('liuliu',32),('zhouqi',26);
成功之后,再来看一下表的所有数据:
这样一下子,就可以插入3条数据了,不过在实际开发中,不建议这样写,效率比较低,实际运行过程中,values要将这条语句拆分成:
insert into t_emp(ename,t_age) value('wangwu',29);
insert into t_emp(ename,t_age) value('liuliu',32);
insert into t_emp(ename,t_age) value('zhouqi',26);
拆分成单条添加语句之后,然后再执行,所以效率低。其实实际工作中,若是数据量比较大,都是通过工具直接导入的,或者通过API接口对接,不用一个一个敲代码的。
好了,今天关于在表中添加内容就聊到这了,各位有啥问题么?若是有问题欢迎留言或私信我,我们一学习,一起成长。