单行记录的录入
1. 语法
insert into 数据表(字段名1,字段名2,……) values(字段名1的值, 字段名2的值,……)。
由于字段的类型不同,在书写字段值的时候要注意格式。
数值型字段,可以直接写值。
字符型字段,其值上要加上单引号。
日期型字段,其值上要加上单引号,同时还要注意年、月、日的排列次序。
在数据的插入语句中,插入列排序和插入值要一一对应。字符型和日期型字段要
加上单引号,非空列必须有值。
2. 实例
在scott.emp数据表里共包含了3种类型的字段。
empno,number(4),NOT NULL,数值型,长度为4,不能为空。
ename,varchar2(10),字符型,长度为10。
hiredate,date,日期型。
我们以在这3个字段中插入记录为例进行说明。
对于日期型的数据,读者往往会感觉为难,因为不知道年、月、日的排列顺序和格式,
这里教给大家几个方法。首先查询范例数据表中的数据,然后“依葫芦画瓢”就可以了。
(1)在【命令编辑区】输入“select empno, ename, hiredate from scott.emp;”
(2)在【命令编辑区】输入“insert into scott.emp(empno, ename, hiredate) values (7999,
’JONE’,’25-11月-2002’);”
多行记录的录入
在数据的录入中,经常需要将从数据表中查询到的数据稍做修改成批录入的情况,这就
是多行数据的录入。
1. 语法
insert into 数据表(字段名1,字段名2,……)
(select(字段名1或运算, 字段名2或运算,……) from 数据表
where 条件)
实际上,首先利用子查询语句查询结果,然后再利用insert语句将结果插入数据表。
子查询和insert中的数据表既可以相同,也可以不同,但要求查询结果的字段和insert
插入的数据表中字段属性完全一致。
2. 实例
在【命令编辑区】执行以下语句。
―――――――――――――――――――――――――――――――――――――
insert into scott.emp(empno,ename,hiredate)
(select empno+100,ename,hiredate from scott.emp
where empno>=6999
);
结果显示创建了15行
表间数据复制
可以从一个数据表中选择需要的数据插入到全新的数据表中。
create table scott.test
as
(
select distinct empno,ename,hiredate
from scott.emp
where empno>=7000
);
这里的create table语句的功能是创建新的数据表,上述过程实际是分3步执行的。
首先查询符合要求的数据,其次建立3个字段的名为test的数据空表,最后是将查询的
数据插入到test数据表中。