zoukankan      html  css  js  c++  java
  • Oracle之数据操作__更新

    一.更新操作前的准备

        在SQL语句之中,数据的操作语言(DML)由两部分组成:查询( DQL ),更新操作(增加,修改,删除)。

    1.复制emp表---新的表名为:myemp

    CREATE TABLE myemp AS SELECT * FROM emp;

    2.查看目前有哪些表

    select * from tab;

    二. 数据的增加操作

       增加数据:

                    

    A. 可以为数据表添加新的数据

     1.使用完整语法,进行数据增加时,需要写上数据的列的名称(推荐)

    INSERT INTO myemp(empno,ename,job,mgr,hiredate,sal,comm,did)
    VALUES(8888,'悟空','CLERK',7692,SYSDATE,11111,100,20);

    2.使用简化语法,需要按照列的顺序增加,否则会出现错误(不推荐)

    INSERT INTO myemp
    VALUES(8899,'镇元','MANAGER',7692,TO_DATE('1981-01-01','yyyy-mm-dd'),22222,200,20);

    3.添加没有 comm,did 的雇员

    #--完整语法:只需写要添加的列
    INSERT INTO myemp(empno,ename,job,mgr,hiredate,sal)
    VALUES(8888,'如来','CLERK',7692,SYSDATE,11111);
    
    #--简化语法,需要设置null的数据,要明确写出null
    INSERT INTO myemp
    VALUES(9999,'玉皇','CLERK',7692,SYSDATE,11111,null,null);

    B. 将子查询结果作为增加数据

       子查询的数据实际上也是一张表的结构,所以可直接将这些数据保存到指定表中。            

    #完整格式:将所有20部门雇员信息插入到myemp表之中
    INSERT INTO myemp(empno,ename,job,mgr,hiredate,sal,comm,did)
    SELECT * FROM emp WHERE did=20;
    
    #简化格式:将所有30部门雇员信息插入到myemp表之中
    INSERT INTO myemp
    SELECT * FROM emp WHERE did=30;

    ## 在标准开发上,使用完整语法,增加代码的可维护性

    三. 数据的更新操作

        数据库的更新操作主要是指:对数据表中的数据进行修改。

    数据修改时,有两种形式:

    形式一:由用户指定要更新数据的内容

    1.修改 7692 的 sal,comm

    UPDATE myemp SET sal=33333,comm=333 WHERE empno=7692;

    2. 将工资低于公司平均薪金的雇员的基本工资全部 *100

    UPDATE myemp SET sal=sal*100 
    WHERE sal<(select avg(sal) from myemp)

    形式二:基于子查询的更新

    1. 将雇员7692的职位,基本工资,雇佣日期更新为与 7642

    UPDATE myemp SET (job,sal,hiredate)=(select job,sal,hiredate from myemp where empno=7642)
    WHERE empno=7692;

    四. 数据的删除操作

    1.删除单个

    DELETE FROM myemp WHERE empno=8888;

    2.删除多个

    delete from myemp where empno in(8899,9999)

     3.删除工资最高的

    DELETE FROM myemp WHERE sal=(select max(sal) from myemp);

    4.删除1981的雇员

    DELETE FROM myemp WHERE TO_CHAR(hiredate,'yyyy')=1981;

    ## 对于更新的三个操作:增加,修改,删除,每一次都会一定返回当前操作所影响到的数据行数。

  • 相关阅读:
    SQL Azure (17) SQL Azure V12
    Microsoft Azure News(5) Azure新DV2系列虚拟机上线
    Azure Redis Cache (3) 在Windows 环境下使用Redis Benchmark
    Azure PowerShell (11) 使用自定义虚拟机镜像模板,创建Azure虚拟机并绑定公网IP(VIP)和内网IP(DIP)
    Windows Azure Virtual Machine (31) 迁移Azure虚拟机
    Windows Azure Web Site (16) Azure Web Site HTTPS
    Azure China (12) 域名备案问题
    一分钟快速入门openstack
    管理员必备的Linux系统监控工具
    Keepalived+Nginx实现高可用和双主节点负载均衡
  • 原文地址:https://www.cnblogs.com/zhaochangbo/p/8429089.html
Copyright © 2011-2022 走看看