⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
INSERT Statements

INSERT 语句是将数据加载到关系数据库中的标准方式。在使用 INSERT 语句时,数据是逐行提供的。虽然简单,但解析和处理单个 INSERT 语句涉及大量的开销。这使得大量的逐行插入对于批量插入来说非常低效。

最佳实践 作为经验法则,当插入多行数据时,避免使用大量逐行的INSERT语句(即避免在循环中使用INSERT语句)。在批量插入数据时,尽量最大化每条语句插入的数据量。

如果你必须使用INSERT语句在循环中加载数据,避免在自动提交模式下执行这些语句。每次提交后,数据库都需要将更改同步到磁盘,以确保没有数据丢失。在自动提交模式下,每个语句都将被包装在一个单独的事务中,这意味着fsync将为每个语句调用。这在批量加载时通常是不必要的,并且会显著减慢你的程序。

提示 如果你绝对必须在循环中使用INSERT语句来加载数据,请将它们包装在BEGIN TRANSACTIONCOMMIT的调用中。

Syntax

使用 INSERT INTO 将数据加载到表中的示例如下:

CREATE TABLE people (id INTEGER, name VARCHAR);
INSERT INTO people VALUES (1, 'Mark'), (2, 'Hannes');

有关更详细的描述和语法图,请参阅关于INSERT语句的页面