zoukankan      html  css  js  c++  java
  • Oracle DML

    地址符 &
      :在所有的DML语句中都可以使用,其是预编译一条语句,之后给地址符处传入参数,可以一直执行该语句.

    insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno);
    输入 empno 的值: 1002
    输入 ename 的值: 'Mary'
    输入 sal 的值: 2000
    输入 deptno 的值: 30
    原值 1: insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno)
    新值 1: insert into emp(empno,ename,sal,deptno) values(1002,'Mary',2000,30)
    select empno,ename,sal,&t from emp;
    输入 t 的值: job
    原值 1: select empno,ename,sal,&t
    新值 1: select empno,ename,sal,job


    数据处理:
      SQL 的类型
        1. DML(data manipulation Language 数据操作语言): insert update delete select
        2. DDL(Data Definition Language 数据定义语言): create table,alter table,drop table,truncate table
                          create/drop view,sequence(序列),index,synonym(同义词)
        3. DCL(Data Control Language 数据控制语言): grant(授权) revoke(撤销权限)
                    grant create view to scott


      insert:
        插入 insert

    insert into emp(empno,ename,sal,deptno) values(1001,'Tom',3000,10);

        批处理

        创建一张和emp相同的表

     table emp10 as select * from emp where 1=2;

        一次性将emp中,所有10号部门的员工插入到emp10中(拷贝)

    insert into emp10 select * from emp where deptno=10;

          (海量拷贝数据
            1. 数据泵(datapump) ---> plsql
            2. SQL*Loader
            3. (数据仓库)外部表
            4. 可传输的表空间)

      update:
        

    update emp set enamel='Tomas' where empno = 2;
    update emp set enamel='Tomas';
    (update中也可以使用子查询语句)

      delete:

    delete from emp where empno = 1;
    delete emp ;(删除所有)
    (delete中也可以使用子查询语句)

      delete和truncate的区别:
        1. delete逐条删除;truncate先摧毁表,再重建
        2.(根本)delete是DML,truncate是DDL
            (可以回滚) (不可以回滚)
        3. delete不会释放空间 truncate会
        4. delete可以闪回 truncate不可以
          (flashback)
        5. delete会产生碎片;truncate不会
          整理碎片: alter table emp move;(或者导入和到处 exp/expdp imp/impdp )

    与MYSQL不同,ORACLE中delete效率更高.(undo数据(还原数据))

  • 相关阅读:
    智能指针之 auto_ptr
    UML在线绘图
    inline使用
    工作随笔—2017-12-12
    链表排序
    转——浅谈如何提高服务器并发处理能力
    使用re开发python计算器
    Linux-centos7下python3 环境设置
    C语言中的static 详细分析
    pycharm import pygame 出现报错:No module named 'pygame'
  • 原文地址:https://www.cnblogs.com/soficircle/p/7276770.html
Copyright © 2011-2022 走看看