向表中添加一个或多个记录。 这称为一个追加查询。
语法
多记录追加查询:
INSERT INTO target [(field1[, field2[, ...]])] [IN externaldatabase]
SELECT [source.]field1[, field2[, ...]
FROM tableexpression
单记录追加查询:
INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])
INSERT INTO 语句包含以下部分:
部分 |
说明 |
target |
要追加记录的表或查询的名称。 |
field1, field2 |
如果后跟一个 target 参数,为要追加数据的字段的名称;如果后跟一个 source 参数,则为要从中获取数据的字段的名称。 |
externaldatabase |
外部数据库的路径。 有关路径的说明,请参阅 IN 子句。 |
source |
要从中复制记录的表或查询的名称。 |
tableexpression |
从中插入记录的一个或多个表的名称。 此参数可以是一个表名,也可以是由 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 操作产生的复合参数,还可以是保存的查询。 |
value1, value2 |
要插入新记录的特定字段中的值。 各值均插入与该值在列表中的位置相对应的字段:value1 插入新记录的 field1 中,value2 插入 field2 中,以此类推。 需使用逗号隔开各值,并将文本字段放在引号 (' ') 中。 |
备注
可以使用 INSERT INTO 语句向使用单记录追加查询语法的表添加一条记录。 在此情况下,代码指定记录各字段的名称和值。 必须指定要分配值的记录的各个字段以及该字段的值。 不指定各字段时,则为缺少的列插入默认值或 NULL。 记录添加到表末。
还可以使用 INSERT INTO 通过 SELECT ... FROM 子句追加另一个表或查询中的一组记录,如上文中的多记录追加查询语法所示。 在这种情况下,SELECT 子句指定要追加到 target 表的字段。
source 或 target 表可以指定一个表或一个查询。 如果指定的是查询,Microsoft Access 数据库引擎将记录追加到该查询指定的任一个表或所有表中。
可以选择是否使用 INSERT INTO,但如果使用,需位于 SELECT 语句之前。
如果目标表包含主键,确保向一个或多个主键字段追加非 NULL 的唯一值;否则,Microsoft Access 数据库引擎不会追加记录。
如果向含 AutoNumber 字段的表追加记录,并需要给追加的记录重新编号,则不要在查询中包含 AutoNumber 字段。 如果要获取 AutoNumber 字段中的原始值,则在查询中包含该字段。
使用 IN 子句将记录追加到另一个数据库的表中。
要创建新表,请使用 SELECT...INTO 语句,而不是创建一个生成表查询。
若要在运行追加查询前找出将追加的记录,首先执行并查看使用相同选择条件的选择查询的结果。
追加查询将记录从一个或多个表复制到另一个表。 含追加的记录的表不受该追加查询影响。
可以使用 VALUES 子句为一个新记录中的各字段指定值,而不是从另一个表追加现有的记录。 如果省略字段列表,VALUES 子句必须为表中的每一个字段指定一个值;否则,INSERT 操作将失败。 为要创建的每一条额外的记录分别再使用一个含 VALUES 子句的 INSERT INTO 语句。