1、n 添加记录n 删除记录n 修改记录第 3章 数据库的操作第 3章 数据库的操作3.1操作表数据3.1.1插入表记录语法格式:INSERT INTO table_namecolumn_listVALUES(constant1,constant2,)该语句的功能是向由 table_name指定的表中加入一行,由 VALUES指定的各列值。(1) 在插入时,列值表必须与列名表顺序和数据类型一致。 (2) VALUES中描述的值可以是一个常量、变量或一个表达式。 (3) 如果列值为空,则值必须置为 NULL。 如果列值指定为该列的默认值,则用 DEFAULT。 3.1.1插入表记录【 例 3.1】
2、向 XSCJ数据库的表 XS中插入如下的一行 :061101 王林 计算机 男 19870201 50可以使用如下的 PL/SQL语句 :INSERT INTO XS(XH,XM,ZYM,XB,CSSJ,ZXF) VALUES(061101,王林 , 计算机 ,男,TO_DATE(19860210,YYYYMMDD),50);select TO_DATE(19860210,YYYYMMDD) from dual3.1.1插入表记录 show all 图 3.1插入新数据后查询的结果3.1.1插入表记录【 例 3.2】 建立了表 test。CREATE TABLE test( xm char(2
3、0) NOT NULL,zy varchar(30) DEFAULT(计算机 ),nj number NOT NULL);用 INSERT向 test表中插入一条记录:INSERT INTO test(xm,nj)VALUES(王林 ,3);则插入到 test表中的记录为:王林 计算机 3 3.1.1插入表记录语法格式:INSERT INTO table_namederived_tablederived_table是一个由 SELECT语句查询所得到的结果集。利用该参数,可把一个表中的部分数据插入到表table_name中。3.1.1插入表记录【 例 3.3】 用如下的 CREATE语句建立表
4、 XS1:CREATE TABLE XS1( num char(6) NOT NULL,name char(8) NOT NULL,speiality char(10) NULL);用如下的 INSERT语句向 XS1表中插入数据:INSERT INTO XS1SELECT XH,XM,ZYMFROM XSWHERE ZYM=计算机 ;Merge 用法n 对于特定的数据,在一次批量操作过程中, 如果数据已经存在,则对存在的数据按照现有情况进行更新,如果不存在,则需要加入数据库。 可以采用 Oracle 的 MERGE.3.1.1插入表记录 (p63)语法格式:MERGE INTO table_
5、nameUSING table_name ON (join_condition)WHEN MATCHED THEN UPDATE SETWHEN NOT MATCHED THEN INSERT() VALUES()Join_condition: 连接条件。3.1.1插入表记录【 例 3.4】 检查表 XS_JSJ中的数据是否和表 XS的数据相匹配,如果匹配则使用 INSERT子句执行插入数据行。n INSERT INTO scott.XS2(XH,XM,ZYM,XB,CSSJ,ZXF) n VALUES(101112,张亮 , 计算机 ,女,TO_DATE(19860130,YYYYMMDD),36);使用 MERGE语句 XS_JSJ表中新增的数据插入表 XS中:MERGE INTO scott.XS aUSING scott.XS2 bON(a.XH=b.XH)WHEN NOT MATCHED THEN INSERT(a.xh,a.xm,a.zym,a.xb,a.cssj,a.zxf)Values(b.xh,b.xm,b.zym,b.xb,b.cssj,b.zxf);