SQL insert into语句写法讲解

方式1、 insert into t1(field1,field2) value(v001,v002);

 明确只插入一条value

方式2、 insert into t1(field1,field2) values(v101,v102),(v201,v202),(v301,v302),(v401,v402);

在插入批量数据时 方式2 优于 方式1.

【特注】当 id 为自增,即  id int primary key auto_increment 时,执行 insert into 语句,需要将除 id 外的所有 field 列举出来(有没有感觉,好不方便,期待 mysql 提供一个简便方法来标记这种情况,因为在早测试数据的时候,普遍会使用,而列举出除 id 外所有字段,真有麻烦感)。

方式3.1、  insert into t2(field1,field2) select colm1,colm2 from t1 where ……

这里简单说一下,由于可以指定插入到 talbe2 中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活一些,但我们也必须注意,我们在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入,还有一点比较容易出错的地方就是,当我们写成如下简写格式:

方式3.2、  insert into t2 select colm1,colm2,…… from t1

此时,我们如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且 select 后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。

【特注】由于插入操作只粗略地对表 t1、t2 按顺序对所有字段进行 [数据类型] 检查,不对 [字段名] 核对。这是把双刃剑,既提供便利,又存在可能因粗心造成风险。在使用中,需确认顺序,使用中建议使用 [方式3.1] 或 [方式4].

方式4、insert into 表名 set 列名1 = 列值1,列名2=列值2,…;

不过用insert into set这种方式,不能批量增加数据。(参考:mysql数据库中插入数据insert into set的优势)

到此这篇关于sql insert into语句写法讲解的文章就介绍到这了,更多相关sql insert into语句内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐