insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
insert ignore表示,如果表中如果已经存在相同的记录,则忽略当前新数据;
测试代码如下:

Sql代码  
  1. create table testtb(
  2. id int not null primary key,
  3. name varchar(50),
  4. age int
  5. );
  6. insert into testtb(id,name,age)values(1,'bb',13);
  7. select * from testtb;
  8. insert ignore into testtb(id,name,age)values(1,'aa',13);
  9. select * from testtb;
  10. replace into testtb(id,name,age)values(1,"aa",12);
  11. select * from testtb;

INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。

用于INSERT 语句的DELAYED 选项是MySQL 相对于标准SQL 的扩展。如果您的客户端不能等待INSERT 完成,则这个选项是非常有用的。当您使用MySQL 进行日志编写时,这是非常常见的问题。您也可以定期运行SELECT和UPDATE 语句,这些语句花费的时间较长。

当一个客户端使用INSERT DELAYED 时,会立刻从服务器处得到一个确定。并且行被排入队列,当表没有被其它线程使用时,此行被插入。

使用INSERT DELAYED 的另一个重要的好处是,来自许多客户端的插入被集中在一起,并被编写入一个块。这比执行许多独立的插入要快很多。

说明: INSERT DELAYED INTO,是客户端提交数据给MySQL,MySQL返回OK状态给客户端。而这是并不是已经将数据插入表,而是存储在内存里面等待排队。当mysql有空余时,再插入。

这样的好处是,提高插入的速度,客户端不需要等待太长时间。坏处是,不能返回自动递增的ID,以及系统崩溃时,MySQL还没有来得及插入数据的话,这些数据将会丢失。
注意,当没有使用表时,INSERT DELAYED 比常规的INSERT 要慢。对于服务器来说,为每个含有延迟行的表操纵一个独立的线程,也是一个额外的系统开销。这意味着只有当您确认您需要时,才应使用INSERT DELAYED 。

转载于:https://www.cnblogs.com/lvdongjie/p/4829520.html

INERT DELEYED、INSERT IGNORE replace into和insert区别相关推荐

  1. Mysql insert 多种使用方式(insert into/insert ignore /replace into/on deplicate key update)

    Mysql insert 多种使用方式(insert into/insert ignore /replace into/on deplicate key update) 1 insert into t ...

  2. Mysql INSERT、REPLACE、UPDATE的区别

    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSE ...

  3. INSERT、REPLACE、UPDATE的区别

    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSE ...

  4. [数据库]---mysql 插入sql之 INSERT INTO和INSERT IGNORE INTO和REPLACE INTO和ON DUPLICATE KEY UPDATE比较应用

    mysql插入一条数据方式有四种,接下来逐个说明验证: 前提: 有一个表,作为本次测试: CREATE TABLE `zs_test` (`id` int(11) NOT NULL AUTO_INCR ...

  5. 详解MySQL字符串函数CONCAT()、CONCAT_WS()、INSERT()、REPLACE()、LOWER()、UPPER()用法(二)

    文章目录 一.合并字符串函数CONCAT()和CONCAT_WS() 1.CONCAT() 2.CONCAT_WS() 二.替换字符串INSERT()和REPLACE 1.INSERT() 2.REP ...

  6. insert into与insert ignore以及replace into的区别

    insert ignore表示,如果表中已经存在相同的记录,则忽略当前新数据: INSERT INTO有无数据都插入,如果主键则不插入; REPLACE INTO 如果是主键插入则会替换以前的数据; ...

  7. MariaDB/MySQL防止重复插入相同记录:INSERT IGNORE或者REPLACE

    MySQL防止重复插入相同记录有2种常用的方法. 1 使用 INSERT IGNORE 使用 INSERT IGNORE 可以在插入具有相同主键的数据时不做重复插入. mysql> SELECT ...

  8. 语法:MySQL中INSERT IGNORE INTO和REPLACE INTO的使用

    mysql中insert into和replace into以及insert ignore用法区别:  mysql中常用的三种插入数据的语句:  insert into表示插入数据,数据库会检查主键, ...

  9. MySQL中INSERT IGNORE INTO和REPLACE INTO的使用

    mysql中insert into和replace into以及insert ignore用法区别:  mysql中常用的三种插入数据的语句:  insert into表示插入数据,数据库会检查主键, ...

最新文章

  1. 如何一小时杀入天池OCR比赛前排?
  2. 又一先锋与世长辞:Dennis Ritchie(C语言之父、Unix之父、图灵奖获得者),享年70岁...
  3. 【项目管理】项目问题应对思路
  4. Android鬼点子 100行代码,搞定柱状图!
  5. 真香!微软将为Edge浏览器带来超好用的全新侧边搜索功能:无需跳转网页
  6. 判断单链表中的元素是否递增_检测单链表中是否有环(C语言)
  7. linux中rpm、yum、apt-get的关系
  8. 通过JQUERY获取SELECT OPTION中选中的值
  9. HTTP协议 (七) Cookie
  10. 拓端tecdat|R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)
  11. EXCEL中实现经纬度距离计算、高斯坐标转换、GIS数据导出等功能
  12. 区块链获得获得华尔街的胜利:“现在我们知道它有用了”
  13. 安装Alfa Awus 1900 驱动到 Kali Linux
  14. Python的列表解析式,集合解析式,字典解析式
  15. Bmob后端云的使用
  16. Mounty for Mac(NTFS格式读写工具)
  17. Qt读取界面的时间dateEdit,并将时间写入数据库中
  18. 数据仓库—stg层_数据仓库(一):认识数据仓库
  19. 用马青公式计算π的c程序
  20. 计算机类专业入门知识

热门文章

  1. Stanford UE4 UE5 C++ 开发 课程笔记(三)子弹物理碰撞与弹道校正
  2. Tabulator本地分页和远程分页
  3. 一对一直播源码Flutter Text 去掉黄色下划线
  4. 年美国佐治亚理工学院建筑与计算机系,美国佐治亚理工学院专业设置详解
  5. CAS:1222468-90-7,p-SCN-Bn-Deferoxamine的分子量为752.9
  6. 鲁大师2015怎么检测显示器|显示器质量测试方法
  7. android gps服务,Android检测GPS服务和定位权限是否开启
  8. 【软件测试】集成测试和系统测试
  9. 省二计算机应用基础试题及答案,计算机应用基础试题及答案2
  10. python如何进入编程界面_Python可视化界面编程入门