INSERT INTO 将一个或多个记录添加到表中
(2011-05-04 08:02:01)
标签:
杂谈 |
将一个或多个记录添加到表中。这称为追加查询。
语法
多记录追加查询:
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。记录将添加到表的末尾。
通过在多记录追加查询语法中使用上述 SELECT ... FROM 子句,还可以使用 INSERT INTO 来追加另一个表或查询中的一组记录。在这里,SELECT 子句指定要追加到指定的 target 表中的字段。
source 或 target 表可能指定表或查询。如果指定查询,则 Microsoft Access 数据库引擎会将记录追加到由查询指定的所有表中。
INSERT INTO 是可选的,但如果包括它,则位于 SELECT 语句的前面。
如果目标表包含主键,请确保将唯一的非 Null 值追加到主键字段;如果不这样做,Microsoft Access 数据库引擎将不追加记录。
如果将记录追加到包含 AutoNumber 字段的表中,并且希望对追加的记录重新编号,则不要在查询中包括“自动编号”字段。如果希望保留该字段中的原始值,则一定要在查询中包括“自动编号”字段。
使用 IN 子句可以将记录追加到另一个数据库的表中。
若要创建新表,请使用 SELECT...INTO 语句来创建生成表查询。
若要在运行追加查询之前确定将追加哪些记录,请首先执行并查看使用相同选择条件的选择查询的结果。
追加查询会将记录从一个或多个表复制到另一个表中。追加查询不影响包含所追加记录的表。
可以不追加另一个表中的现有记录,而是使用 VALUES 子句来指定在单个新记录中每个字段的值。如果省略字段列表,则 VALUES 子句必须包括表中每个字段的值;否则,INSERT 操作将失败。请对希望创建的每个附加记录使用带 VALUES 子句的附加 INSERT INTO 语句。