insert into 语句的四种写法

insert into 语句的四种写法方式1、INSERTINTOt1(field1,field2)VALUE(v001,v002);明确只插入一条Value方式2、INSERTINTOt1(field1,field2)VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402);在插入批量数据时方式2优于方式1.方式3.1、…

大家好,又见面了,我是你们的朋友全栈君。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159651.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • kthreaddi挖矿病毒

    kthreaddi挖矿病毒今天上服务器一查看cpu被占满了,使用了top命令一看,好家伙看到kthreaddi进程占用cpu300%老子气坏了,没碰见过,什么是kthreaddi白百度了一圈,原来【kthreaddi】是挖矿病毒不断的写入定时任务执行操作先是top命令查占用进程PID29221直接杀死但是过一段时间又会自动的建立进程使用查看定时任务命令crontab-e果然有一条定时任务,更加可气的是找不到这个文件解决办法:删除这条命名,然后又top命名kill-9PID杀死进…

    2022年5月10日
  • ConfigurationManager.ConnectionStrings 属性[通俗易懂]

    ConfigurationManager.ConnectionStrings 属性[通俗易懂]publicstaticConnectionStringSettingsCollectionConnectionStrings{get;}App.config1<?xmlversion=”1.0″encoding=”utf-8″?>2<configuration>3<startup>4&lt…

    2022年5月21日
  • Zato入门part2

    Zato入门part2

    2022年3月12日
  • smtp服务器组件,本机搭建虚拟SMTP服务器教程[通俗易懂]

    smtp服务器组件,本机搭建虚拟SMTP服务器教程[通俗易懂]该楼层疑似违规已被系统折叠隐藏此楼查看此楼Windows2000用户安装设置服务端WindowsXP和2000本身就拥有构件SMTP服务器的功能,只是一般还没有安装。选择“控制面板→添加/删除程序→添加/删除Windows组件”,弹出“Windows组件向导”对话框,在其中双击“Internet信息服务(IIS)”项,就会打开详细选择项,选中“SMTPService”,按“确定”,插入…

    2022年10月3日
  • 2022年最新一篇文章教你青龙面板拉库,拉取单文件,安装依赖,设置环境变量,解决没有或丢失依赖can‘t find module之保姆教程(附带几十个青龙面板脚本仓库)「建议收藏」

    2022年最新一篇文章教你青龙面板拉库,拉取单文件,安装依赖,设置环境变量,解决没有或丢失依赖can‘t find module之保姆教程(附带几十个青龙面板脚本仓库)「建议收藏」没有安装青龙面板的先看我另外一篇教程https://blog.csdn.net/qq_39997540/article/details/122363463?spm=1001.2014.3001.55011.青龙面板拉库打开浏览器进入按照我的主页里的另一篇教程安装好的青龙面板,点击右上角的添加任务编辑任务10-23/1***点击你添加好的拉库任务右边的运行按钮,过几分钟你要拉的库就下载到你的青龙面板了2.分享收集的青龙面板脚本仓库,建议选择拉一个就可以了1.JB库.

    2022年7月20日
  • matlab模糊控制工具箱使用教程_模糊pid控制原理

    matlab模糊控制工具箱使用教程_模糊pid控制原理Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。1、模糊控制工具箱使用首先我们在Matlab的命令窗口(commandwindow)中输入fuzzy,回车就会出来…

    2022年8月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号