`

Oracle_学习使用SQL语四(DML语句)

阅读更多
一、insert插入数据
  1、将整张表的数据插入到一张表中
    语法:insert into 表名(子查询)
     使用子查询将整张表插入到制定的表中,有两种方式,如下:
     (1)、insert into cip_test (select *from cip_tmp)。
     (2)、insert /*+append*/into cip_test (select *from cip_tmp);
注意:如果要插入大量的数据,则采用第二种方式,效率高于第一种,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据,使用append会增加数据插入的速度。网上说"append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo
",有点不明白,待研究。我按照第二种方法插入50000条数据,结果toad死掉了,不知道为什么。

2、将整张表的输入插入到多个表中
  (1)、使用all操作符执行插入操作
    使用insert语句可以将某张表的数据同时插入到多张表中,语法如下:
insert all insert_into_clause[value_clause] 子查询;
如上所示:insert_into_clause指insert子句,value_clause指定值子句
insert all into cip_test into cip_temp select * from cip_tmp where id<10;
插入的数据中cip_test表中的数据为1—10,cip_temp表中的数据为1—10,cip_temps表中的数据为1—10。
insert  all 
               when id between 1  and 10 then into cip_test 
               when id between 11 and 20 then into cip_temp 
	      when id between 21 and 30 then into cip_temps 
	     select * from cip_tmp where id<30;

插入的数据中cip_test表中的数据为1—10,cip_temp表中的数据为11—20,cip_temps表中的数据为21—30。
注意:SQL语法1是将查询的信息全部插入的指定的表中。SQL2语句2是将查询的结果按照条件插入到指定的表中。
    (2)、使用first操作符执行插入操作
     当使用first操作符插入多表数据时,当先前条件已经满足,并且已经插入到表中,则该数据在后续插入中将不会在被用到。代码例如:
 
insert  first
               when id <=10 then into cip_test 
               when id <=20 then into cip_temp 
	      when id <=30 then into cip_temps 
	     select * from cip_tmp where id<30;

插入的数据中cip_test表中的数据为1—10,cip_temp表中的数据为11—20,cip_temps表中的数据为21—30。
二、update更新数据
       当使用update语句更新数据时,不仅可以使用表达式、数值直接更新数据,可可以使用子查询更新数据,某些情况下使用子查询更新效率更好,例如:
update cip_temp set (name,age,address)=(select name,age,address from cip_test where id=1) where id=20;[/code
[b]三、delete删除数据[/b]
当使用delete语句删除数据时,可以在where子句中指定值,并根据条件删除数据,另外也可以再where子句中使用子查询做为条件删除数据,例如:
delete from cip_temp where name=(select name from cip_test where id=1)
分享到:
评论
1 楼 welody 2009-11-06  
补充一些:(初级经常用)
修改列名
alter table 表名 rename column 老列名 to 新列名
添加字段
alter table 表名 add(字段名 类型)
删除字段
alter table 表名 drop column 字段名
修改列属性
alter table 表名 modify (字段名 新属性)
设置某一个字段为无用状态
alter table 表名 set unuesed column 字段名
删除无用字段
alert table 表名 drop unused cloumns
添加主键
alert table 表名 add constraint pkKey primary key(字段列表)

相关推荐

    Oracle高性能SQL调整

    本书由oracle公司授权,向读者...使用oracle8i优化器计划稳定性,基于成本的优化器和基于规则的优化器,调整SQL DML语句、SQL子查询和数据仓库SQL,调整带有临时表和索引的SQL语句,使用STATSPACK诊断和优化系统性能。

    oracle基础sql_建表_dml_ddl_dql_及常用内置函数等

    详细介绍了oracle的建表语句 增删改查 内外连接查询 授权用户 建sequence oracle常用内置函数 ddl语句 事务控制语句 tcl 等

    oracle数据库的一些SQL语句

    ORACLE数据库的一些SQL语句 数据操纵语言DML M = Manipulation  数据操纵语言DML用于改变数据库数据 主要有三种形式:  1) 插入:INSERT  2) 更新:UPDATE  3) 删除:DELETE

    Sql Server与Oracle的区别

    要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部...

    ORACLE和SQL Server的语法区别

    要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部...

    Oracle高级sql学习与练习

    17、扩展DDL和DML语句 18、MODEL语句 19、10G闪回查询 20、专题-行列转换 21、专题-连续值和累计值问题 22、专题-NULL和DUAL详解 23、专题-时间、数字、字符格式详解 24、专题-ORACLE字符集问题 25、专题-随机值查询

    《Oracle高性能SQL调整》

    使用Oracle8i优化器计划稳定性、基于成本的优化器和基于规则的优化器,调整SQLDML语句、SQK子查询和数据仓库SQL,调整带有临时表和索引的SQL语句,使用STATSPACK诊断和优化系统性能。 本书内容丰富、分析透彻,可供...

    ORACLE SQL使用示例

    ORACLE SQL使用示例 二.创建索引 三.创建约束 四.创建视图 五. 创建序列 六. 创建同义词 七.SQL DML数据操纵语句 八,SQL内部函数 九. PLSQL 结构化程序

    Oracle PL/SQL语言初级教程

    DML语句的结果 78 使用游标 79 从游标提取数据 81 记录变量 82 带参数的游标 83 游标FOR循环 84 在游标FOR循环中使用查询 86 游标中的子查询 86 9.PL/SQL异常处理初步 88 异常传播 91 常用异常处理方法 93

    oracle关于动态SQL的使用

    在PL/SQL开发过程中,使用SQL,PL/SQL可以实现大部份的需求,但是在某些特殊的情况下,在PL/SQL中使用标准的SQL语句或DML语句不能实现自己的需求,比如需要动态建表或某个不确定的操作需要动态执行。这就需要使用...

    PL_SQL命令的使用大全.chm

    我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次...

    Oracle数据库游标使用大全

    PL/SQL支持DML命令和SQL的事务控制语句。DDL在PL/SQL中不被支持,这就意味作在PL/SQL程序块中不能创建表或其他任何对象。较好的PL/SQL程序设计是在PL/SQL块中使用象DBMS_SQL这样的内建包或执行EXECUTE IMMEDIATE...

    Sql经典练习题库(附答案)

    它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况...

    SQL语句在MySql Oralce 中的实例运用

    SQL的DDL DML 语句在MySql Oracle 数据库的整合,轻松掌握sql 语句在不同数据库之间的差异,其中还有一些经典的sql 语句实例 如 分页查询 横竖表的转换。

    sql_plus.rar_plus

    我们通常所说的DML、DDL、DCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    他认为对于SQL的学习是永无止境的,相信每一个查询Oracle数据库的人都需要精通SQL语言,才能写出高效的查询。他参与本书的编写就是为了帮助别人实现这一目标。 目录 封面 -11 封底 -10 扉页 -9 版权 -8 版权声明 -7...

    Oracle命令使用大全

    我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后...

    oracle管理应用工具和sql高级应用视频教程详细完整版

    第四章:使用SELECT语句 第五章:数据的限定与排序 第六章:多表连接技术 第二部分:ORACLE SQL高级应用 第一章:使用子查询 第二章:用户访问控制 第三章:Oracle的事务和锁 第四章:使用索引 第五章:约束的作用 ...

Global site tag (gtag.js) - Google Analytics