欢迎来到代码驿站!

Mysql

当前位置:首页 > 数据库 > Mysql

SQL insert into语句写法讲解

时间:2022-01-23 10:28:09|栏目:Mysql|点击:

方式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的优势)

上一篇:MySQL数据库迁移快速导出导入大量数据

栏    目:Mysql

下一篇:MySql优化之InnoDB,4GB内存,多查询的my.ini中文配置方案详解

本文标题:SQL insert into语句写法讲解

本文地址:http://www.codeinn.net/misctech/191108.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有