可以将数据添加到行的某些列中,方法是只指定这些列和它们的值。将不包括在列列表中的所有其它列定义为允许使用 NULL 值或具有缺省值。如果您跳过某个具有缺省值的列,缺省值将出现在该列中。
如果只在两列(例如,DepartmentID 和 DepartmentName)中添加数据,则需要如下语句:
INSERT INTO Departments ( DepartmentID, DepartmentName ) VALUES ( 703, 'Western Sales' ); |
DepartmentHeadID 没有缺省值,但是接受空值。因此将为该列自动指派 NULL。
输入 ROLLBACK 语句取消对数据库的这些更改:
ROLLBACK; |
尽管所指定列的顺序不需要与表中列的顺序匹配,但是它必须与所指定插入值的顺序匹配。
根据在 INSERT 语句中指定的内容在行中插入值。如果没有为列指定值,插入的值将视列设置而定,如是否允许 NULL 值、是否使用 DEFAULT 等。在某些情况下,插入操作可能失败并返回错误。下表显示根据要插入的值(如果有)和列设置可能得出的结果:
要插入的值 | 可为空 | 不可为空 | 可为空,带有 DEFAULT | 不可为空,带有 DEFAULT | 不可为空,带有 DEFAULT AUTOINCREMENT |
---|---|---|---|---|---|
<无> | NULL | SQL 错误 | DEFAULT 值 | DEFAULT 值 | DEFAULT 值 |
NULL | NULL | SQL 错误 | NULL | SQL 错误 | DEFAULT 值 |
指定值 | 指定值 | 指定值 | 指定值 | 指定值 | 指定值 |
缺省情况下,除非您在创建表时在列定义中显式规定 NOT NULL,否则列允许使用 NULL 值。可以使用 allow_nulls_by_default 选项变更此缺省设置。也可以使用 ALTER TABLE 语句更改指定列是否允许使用 NULL 值。请参见allow_nulls_by_default 选项 [兼容性]和ALTER TABLE 语句。
可以为列或域创建约束。约束控制是否能够添加某个数据类型。请参见使用表和列约束。
可以通过输入 NULL 将空值显式插入列中。不要将 NULL 括在引号中,否则它将被当做一个字符串。例如,以下语句将 NULL 显式插入 DepartmentHeadID 列中:
INSERT INTO Departments VALUES ( 703, 'Western Sales', NULL ); |
可以将某个列定义为即使该列未接收到任何值,也会在插入行时自动填上缺省值。这可通过为该列提供缺省值来实现。请参见使用列缺省值。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |