zoukankan      html  css  js  c++  java
  • oracle数据库笔记1oracleSQL操纵语言insertupdate setdelete

    SQL的数据操纵功能:

    1.数据插入 insert

    ---------------------------------------------------------------------------------------

     插入命令一般形式 :

    SQL>insert  into <表名>[(列名表)]

                       values(<值表>)

    sql>insert into emp(empno,ename,sal,deptno)

      values(7594,'CARTER',500,20);

    带参数插入语句形式:

    SQL>insert into <表名>   values(<参数表>)

    sql>insert into dept

       values(&deptno,'&dname','&loc');

    用带有子查询的插入语句(查询插入):

    通过查询子句从某表中找出所需数据,拷贝到现行表中,用查询代替values子句实现

    SQL>insert into <表名>[(列名表)]   <select 语句>

    sql>insert into emp2(empno,ename,deptno)

       select empno,ename,deptno

      from emp

      where deptno in(20,30,40);

    若命令中缺省“列名表”,则用 select * 将满足条件的所有行的各列数据插入

    若指出列名,则要与select后指定的列名要位置一一对应,类型相同,字段名可不同于查询表

    插入空值

    sql>insert into dept   values(50,'DEC',NULL);

    插入日期值

    SQL>insert into emp(empno,ename,hiredata)

      values(7655,'MARY','10-MAY-96');

    要想改变日期表示格式, 用函数 to-date实现: to_date(char,format)

    sql>insert into emp(empno,ename,hiredate)

      values(7655,'MARY',to_date('5/10/96','MM/DD/YYYY'))

    -------------------------------------------------------------------------------------------

    2.数据修改命令 UPDATE  SET

    直接赋值:

    SQL>update  <表名>

        set <列名1>=<表达式1> [, <列名2>=<表达式2>…]

          [where<条件>] ;

    将雇员ALLEN提升为经理,工资增至$2500,佣金增加40%

    SQL>update emp

        set job='MANAGER',sal=2500,comm=1.4*comm

        where ename='ALLEN';

    对20号部门中所有经理或分析员提高工资15%

    sql>update emp

        set sal=sal*1.15

        where job IN('MANAGER','ANALYST') AND deptno=20;

    利用子查询修改数据

    给在 NEW  YORK工作的雇员提高工资5%

    sql>update emp  

       set sal=1.05*sal

        where deptno IN(select deptno from dept

                                where loc='NEW YORK');

    使所有销售人员的工资等于其平均工资1.1倍

    sql>update emp

        set sal=(select 1.1*avg(sal) from emp

                    where job='SALESMAN' )

        where job='SALESMAN';

    3.数据删除 delete

    SQL>delete from <表名>

        [where<条件>]

    sql>delete from emp2

        where sal>500;

  • 相关阅读:
    c语言 414 根据输入的整数,循环显示1234567890
    c语言 47 编写一段程序,显示小于输入的整数的所有2的乘方。
    c语言49 交替输出正负号,当输入0以下时什么也不显示
    c语言48 改写48的程序,当输入的值小于1时不输出换行符
    c语言 411 逆向输出输入的整数值(同时输出原始数据)
    c语言47 显示出小于输入的整数的所有2的乘方
    c语言412 输入一个整数值显示其位数
    c语言415 输出标准身高体重对照表
    c语言413 求1到n的和
    c语言 410 输出连续* \n
  • 原文地址:https://www.cnblogs.com/wust221/p/3061132.html
Copyright © 2011-2022 走看看