当创建新表时,新表不 有两种一般格式:
|
包含任何数据。要将新的行输入
|
表中,使用 INSERT 语句。此语句
|
一种格式,使用 VALUE 数据插入表中。
|
S 子句来指定一行或多行的列值
|
。下面三个示例使用此一般格式将
|
另一种格式,指定全查 列。
|
询而非指定 VALUES 来标识来自
|
包含在其他表和/或视图中的行的
|
全查询是 INSERT 或 CREATE VIEW 择语句。括在括号中的全查询一般称为子
|
语句中所使用的选择语句、或者是跟在谓词后面的选 查询。
|
根据创建表时已选择的缺省选项,对 缺省值。各种数据类型的缺省值在 SQL R
|
于每个插入的行,为每一列提供一个值或者接受一个 eference 中讨论。
|
| 下列语句使用 VALUES 子句将一行数据插入 PERS 表中: |
VALUES (12,
|
'Harris', 20, 'Sales', 5, 18
|
000, 1000, '1950-1-1')
|
下列语句使用 VALUES 子句将三行插 。如果列定义为 NOT NULL 且没有缺省值 的列定义上的 NOT NULL 子句可以用单词 WITH DEFAULT 或常数缺省值(如 WITH D 省值插入至已插入行的该列中。例如,在 并将该值定义为 10。因此,DEPT 设置为
|
入其中只有 ID、名称以及工作是已知的 PERS 表中 ,则必须为该列指定一个值。 CREATE TABLE 语句中 WITH DEFAULT 扩充。如果某一列定义为 NOT NULL EFAULT 10),并且您未在列列表中指定该列,则缺 CREATE TABLE 语句中,仅为 DEPT 列指定了缺省值 10 而所有其他列都为空。
|
| INSERT INTO PERS (NAME, JOB, ID) |
VALUES ('Swa
|
german', 'Prgmr', 500),
|
('Lim
|
oges', 'Prgmr', 510),
|
注意:在此情况下,并 类型都必须与 VALUES 子句 VALUES 之后的数据值列表 于表中列的数目。
|
未给每个列指定值。空值显示为 中提供的值对应。如果省略列名 的次序必须与它们所插入至的表
|
-。为此,列名列表的次序和数据 列表(如第一个示例中那样),则 中的列次序相同,值的数目必须等
|
每个值必须与它所插入至的列的数据 ,则将空值赋给插入行中的该列。
|
类型相容。如果某列定义为可空,且未指定该列的值
|
下列示例将空值插入 YEARS、COMM
|
和 BIRTH_DATE 中,因为未给行中的那些列指定值。
|
INSERT INTO PER
|
S (ID, NAME, JOB, DEPT, SALA
|
RY)
|
VALUES (410,
|
'Perna', 'Sales', 20, 20000
|
)
|
INSERT 语句的第二种格式对于用来 指定全查询而非指定 VALUES 以标识来自
|
自另一表中行的值填充表非常方便。如所述的那样, 包含在其他表和/或视图中的行中的列。
|
下列示例从员工 STAFF
|
表中选择部门 38 的成员的数
|
据,并将它插入 PERS 表中:
|
INSERT INTO PER
|
S (ID, NAME, DEPT, JOB, YEAR
|
S, SALARY)
|
SELECT ID, NAME, DEPT, J
|
OB, YEARS, SALARY
|
在此插入之后,下列 S
|
ELECT 语句与 INSERT 语句中全
|
查询产生的结果相同。
|
SELECT ID, NAME, DEPT, JOB,
|
YEARS, SALARY
|
|