墨墨导读: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通常不