本文共 1740 字,大约阅读时间需要 5 分钟。
数据的录入采用【insert】语句。对应不同的录入方式,【insert】语句的语法会有所变化。
4.6.1 单行记录的录入
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;”,然后单击【执行】按钮,出现如图4.41所示的结果。因此,笔者的计算机系统默认的日期型数据格式应该为“日-月-年”。
【参见光盘文件】:第4章4.6461-1.sql。
(2)在【命令编辑区】输入“insert into scott.emp(empno, ename, hiredate) values (7999, ’JONE’,’25-11月-2002’);”,然后单击【执行】按钮,出现如图4.42所示的结果。
【参见光盘文件】:第4章4.6461-2.sql。
(3)在【命令编辑区】输入“select * from scott.emp where empno=7999;”,然后单击【执行】按钮,出现如图4.43所示的结果。
【参见光盘文件】:第4章4.6461-3.sql。
4.6.2 多行记录的录入
在数据的录入中,经常需要将从数据表中查询到的数据稍做修改成批录入的情况,这就是多行数据的录入。
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 );
?????????????????????????????????????
【参见光盘文件】:第4章4.6462.sql。
单击【执行】按钮,出现如图4.44所示的结果。
4.6.3 表间数据复制
可以从一个数据表中选择需要的数据插入到全新的数据表中。
(1)在【命令编辑区】执行以下语句。
?????????????????????????????????????
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-954061/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10748419/viewspace-954061/