一、插入语句

  1、插入单行记录

INSERT INTO table_name|view_name[(column1_name [,column2_name, ... ])]  
VALUES( value1 [, value2, ...] )

  注意:

  [1] 如果在INTO子句中没有指明任何列名,则VALUES子句中的列值的个数、顺序、类型必须与表中的列一致。

  [2] 如果在INTO子句中指明了列名,则VALUES子句中的列值的个数、顺序、类型必须与指明的列一致。

  [3] 向表或视图中插入的数据必须满足表的完整性约束。

  [4] 字符型和日期型数据在插入时要加单引号,日期型数据需要按系统默认格式输入,或使用 TO_DATE 函数进行日期转换。

  2、利用子查询插入数据

INSERT INTO table_name|view_name[(column1_name [,column2_name, ... ])]  
subquery

  注意:

  [2] 如果在INTO子句中指明了列名,则子查询中的列的个数、顺序、类型必须与指明的列一致。

  如果要将大量数据插入到表中,使用子查询直接装在的方式。由于直接装载数据的操作过程不写入日志文件,插入效率大大提高。需要使用“ /*+APPEND*/ ”关键字,语法如下:

INSERT /*APPEND*/ INTO table_name|view_name[(column1_name [,column2_name, ... ])]  
subquery

  3、向多个表中插入数据

INSERT ALL|FIRST
WHEN condition1 THEN INTO table1
WHEN condition2 THEN INTO table2
......
ELSE INTO tablen 
subquery

   注意:

  [1] ALL表示一条记录可以同时插入到多个满足条件的表中;

  [2] FIRST表示一条记录只会插入到第一个满足条件的表中;

二、修改数据

  1、基本语法,如下:

UPDATE table name | view_name
SET column1 = value1 [, column2 = value2 , ...]
[FROM <source table(s)>]
[ WHERE condition ]

 

三、删除数据

  DELETE语句用于删除表中的数据。

  1、基本的语法结构如下:

DELETE FROM table | view [ WHERE condition ] 

  利用DELETE语句删除数据,实际上是把数据标记为 UNUSED,并不释放空间,同时将操作过程写入日志文件,因此DELETE操作可以进行回滚。但是,如果要删除的数据量非常大,则DELETE的操作效率非常低。Oracle中,提供了 TRUNCATE 语句,执行该语句时释放存储空间,并且不写入日志文件,因此执行效率高,但操作不可回滚。

TRUNCATE TABLE table_name;