MySQL INSERT的4种形态

本文详细介绍了MySQL中四种插入数据的方法:INSERT INTO、INSERT IGNORE、REPLACE INTO和INSERT INTO ON DUPLICATE KEY UPDATE。每种方法都有其特定的使用场景和注意事项,比如INSERT IGNORE在遇到重复记录时会忽略新数据,而REPLACE INTO会删除已存在的记录并插入新数据。此外,文章还讨论了这些操作对性能的影响,如潜在的索引页分裂问题。
摘要由CSDN通过智能技术生成

墨墨导读:MySQL中常用的四种插入数据的语句: insert ,insert select,replace into,insert into on duplicate key update,以下详述这四种插入数据的语句,希望可以帮助到大家。

INSERT语句是最常见的SQL语句之一,MySQL中INSERT有其他形态的插入数据方式。下面了解一下MySQL中常用的四种插入数据的语句:

INSERT INTO

1. insert into表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错;除了这个之外还有一些配合的参数。

语法如下:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    {VALUES | VALUE} (value_list) [, (value_list)] ...
    [ON DUPLICATE KEY UPDATE assignment_list]
  • DELAYED:
    是立刻返回一个标识,告诉上层程序,数据已经插入了,当表没有被其它线程使用时,此行被插入,真实插入时间就不可控了。所以这样的写法对数据的安全性是没有保障的。
    延迟插入和替换在MySQL 5.6中是不推荐的。在MySQL 5.7,MySQL 8.0中,不支持延迟。服务器识别但忽略DELAYED关键字,将插入处理为非延迟插入,并生成er_warn_legacy_syntax_convert警告(“不再支持延迟插入”)。语句被转换为INSERT”)。DELAYED关键字计划在未来的版本中删除。

  • LOW_PRIORITY:
    插入的执行将被延迟,直到没有其他客户端从表中读取数据。这包括在现有客户端正在读取时以及INSERT LOW_PRIORITY语句正在等待时开始读取的其他客户端。因此,对于发出INSERT LOW_PRIORITY语句的客户机,可能要等待很长时间。
    LOW_PRIORITY只影响只使用表级锁的存储引擎(如MyISAM、内存和合并)。
    LOW_PRIORITY通常不

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值