INSERT INTO 语句 (Microsoft Jet SQL)
INSERT INTO 语句
添加一个或多个记录至一个表。这叫作追加查询.
语法
多重记录追加查询:
INSERT INTO target [(field1[, field2[, ...]])][IN外部数据库] SELECT field1[, field2[, ...]] FROM tableexpression
单一记录追加查询:
INSERT INTO target [(field1[, field2[, ...]])] VALUES (NULL, 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 Jet数据库引擎会把记录追加到由该查询指定的所有表中。
INSERT INTO 是可选的,但当使用时,请置於SELECT 语句之前。
如果你的目标表包含一个 主键,,你一定要把唯一的非 Null 值追加到主键字段中,否则 Microsoft Jet 数据库引擎不会追加记录。
如果你要把把记录追加到带有 AutoNumber字段的表中,还想重编追加的记录,请不要在你的查询中包含 AutoNumber字段。如果您要保持字段中的原始值,请将自动编号加在您的查询之中。
使用 IN 子句,可追加记录至另一个数据库中的表。
要创建新表请用SELECT...INTO 语句代替制表查询的创建。
若要在运行追加查询之前找出哪些记录是被追加的,首先执行和查阅一个使用相同的选择条件之选定查询所获得的结果。
追加查询为从一个或多个表中复制记录至另一个表。您追加的表包含记录将不会被追加查询所影响。
除了从另一表中来追加现存的记录,可以指定在单一追加记录之中使用 VALUES 子句来指定对每一字段的值。如果您省略字段列表,VALUES 子句在表之中必须包含每一字段的值;否则, INSERT运算将会失败。使用额外的 INSERT INTO 语句与一个 VALUES 子句来创建您要的每一个额外的记录。