【JSU】LJDragon's Oracle course notes In the first semester, junior year

DML数据操纵语言

DML指:update,delete,insert等语句

eg1:select语句

  1. select e.* from emp e where empno = 7369;

eg2:insert语句

--插入数据 insert into 表名 [(列1,列2,……)] values (值1,值2,……);

--省略列列表,默认就是表中的所有列

--列和值必须要个数,顺序,类型相同

  1. --增加一个新部门
  2. INSERT
    INTO departments (department_id,department_name,manager_id,location_id)
  3. VALUES (120,'NEC',206,1700);
  4.  
  5. INSERT
    INTO departments
  6. VALUES (120,'NEC',206,1700);
  7.  
  8. INSERT
    INTO departments (department_id,department_name)
  9. VALUES (120,'NEC');
  10.  
  11. INSERT
    INTO departments
  12. VALUES (120,'NEC',NULL,NULL);

--插入多行 insert into 表名 [(列1,列2,……)] 子查询;

  1. INSERT
    INTO new_dept
  2. SELECT * FROM dept;

eg3:update语句

--更新数据 update 表名 set 列1=值,列2=值,……[where 子句]

  1. update emp
  2. set sal = sal+500,
  3. hiredate = (hiredate + 30)
  4. where empno = 7902

--修改100员工的姓名为张三

  1. UPDATE new_emp
  2. SET first_name = '三',
  3.        last_name = '张'
  4. WHERE employee_id = 100;

--修改60号部门员工的工资上浮50元

  1. UPDATE new_emp
  2. SET salary = salary + 50
  3. WHERE department_id = 60;

--修改103号员工的工资和100号员工相同

  1. UPDATE new_emp
  2. SET salary = (SELECT salary
  3.                  FROM new_emp
  4.                  WHERE employee_id = 100)
  5. WHERE employee_id = 103;

eg4:清空/删除表

truncate table 表名

delete from 表名 where

--快速删除表,清空整个表

--不能带条件

--不记录日志

--删除表空间

--数据不能回滚

--(之前一直都用这个的)

--有带条件

--记录日志

--不删除表空间

--数据可以回滚

--清空学生表

  1. select * from stu_tmp;
  2. truncate
    table stu_tmp;

--删除数据 delete from 表名 [where 子句]

  1. --删除103员工
  2. DELETE
    FROM new_emp
  3. WHERE employee_id = 103;
  4.  
  5. --删除50号部门员工
  6. DELETE
    FROM new_emp
  7. WHERE department_id = 50;
  8.  
  9. --删除部门名称为IT的部门的员工
  10. DELETE
    FROM new_emp
  11. WHERE department_id = (SELECT department_id
  12.                         FROM departments
  13.                         WHERE department_name = 'IT');

eg5:合并表merge

merge into 副表表名 别名

using 主表表名 别名 on (主表.主键=副表.主键)

when matched then

更新语句

when not matched then

插入语句

  1. --创建两张员工表并合并
  2. SELECT employee_id,last_name,salary
  3. FROM employees;
  4.  
  5. SELECT employee_id,last_name,salary
  6. FROM employees;
  7.  
  8. --合并数据
  9. MERGE INTO emp2 e2
  10. USING emp1 e1 ON (e1.emp=e2.empno)
  11. WHEN MATCHED THEN--匹配上,则更新
  12.      UPDATE
    SET e2.ename=e1.ename,e2.sal=e1.sal
  13. WHEN
    NOT MATCHED THEN--没有匹配上,插入数据
  14.      INSERT
    VALUES (e1.empno,e1.ename,e1.sal)

dcl:grant,revoke

dql:select

ddl:create,drop,alter

tcl:commit,rollback

分析函数

--over函数连续求和

  1. select t1.empno,t1.sal,t1.deptno,
  2. (select
    sum(t.sal) from emp t where t.deptno = t1.deptno)
  3. as 工资总和
  4. from emp t1;
  5. --------------------------------
  6. select t1.*,
  7. (select
    sum(t.sal) from emp t where t.deptno = t1.deptno)
  8. as 工资总和
  9. from emp t1;

  1. SELECT empno,
  2.        sal,
  3.        deptno,
  4.        sum(sal) over() AS 总个表总和 , --总个表总和
  5.        sum(sal) over(order
    by empno) AS 累计显示 , --累计显示
  6.        sum(sal) over(partition by deptno) 工资总和1,
  7.        sum(sal) over(partition by deptno order
    by empno) 部门工资总和2
  8. FROM emp;

  1. SELECT empno,
  2.        sal,
  3.        deptno,
  4.        avg(sal) over() ,
  5.        avg(sal) over(partition by deptno)
  6.        from emp;

  1. SELECT empno,
  2.        sal,
  3.        deptno,
  4.        sum(sal) over(ORDER BY deptno) over1,
  5.        SUM(sal) over() over2
  6. FROM emp;

 

ORACLE STUDY NOTES 01的更多相关文章

  1. ORACLE STUDY NOTES 02

    [JSU]LJDragon's Oracle course notes In the first semester, junior year I.用户和权限 1.用户操作 --创建新用户 CREATE ...

  2. Machine Learning Algorithms Study Notes(3)--Learning Theory

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  3. Machine Learning Algorithms Study Notes(2)--Supervised Learning

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  4. Machine Learning Algorithms Study Notes(1)--Introduction

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1    Introduction    1 1.1    ...

  5. Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(3)

    Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(3) 一.配置共享存储 [oracle@aix203 ~]$lsdev -c disk hdisk0 Available ...

  6. Oracle Study之--Oracle 11gR2通过RMAN克隆数据库

    Oracle Study之--Oracle 11gR2通过RMAN克隆数据库 Purpose of Database Duplication A duplicate database is usefu ...

  7. Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4)

    Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4) 一.安装CRS补丁 在安装CRS之前,须要安装补丁p6718715_10203_AIX64-5L,否则在安装时会出现 ...

  8. Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0

    Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0 系统环境: 操作系统:RedHat EL6(64位) Oracle:    Oracle 11gR2 ...

  9. ORACLE 10.2.01升级10.2.05 for windows 详细文档

    最近要做一个数据库的升级工作,提前在自己的PC机上练习了一下,这种文档在网上很多,但是大多都是使用命令编辑脚本,其实数据库还有一个DBUA的升级工具可以使用,使升级工作方便了很多. OS环境:wind ...

随机推荐

  1. Matcher Pattern 正则表达式 示例

    示例 public class Test {     public static void main(String[] args) throws IOException {         Patte ...

  2. 【Asp.Net】后台生成控件并绑定事件

    在Asp.Net的Web页面处理流程中,有时候我们会碰到需要动态生成的控件,并为之绑定相应的事件. 接下来我们来动态的生成一个控件 //在用户代码初始化阶段添加控件 protected void Pa ...

  3. C# 面向对象 , 抽象基类

    抽象基类 关键字,  abstract abstract class SSS { public void aaa() { } } 作为抽象基类, 只能在 继承关系 中 担任父类的角色,不能出现在其他地 ...

  4. Jquery插件-Html5图片上传并裁剪

    /** * 图片裁剪 * @author yanglizhe * 2015/11/16 */ (function($){ /** * Drag */ var Drag={obj:null,init:f ...

  5. hibernate注解原理

    持续更新中.. hibernate注解用的是java注解,用到的是java反射机制.

  6. python代码合并

    http://www.baidu.com/s?wd=python%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6&rsv_bp=0&ch=&tn=mon ...

  7. CodedDFS日志配置

    本文根据Log4j的配置属性,编写了用于记录BMBR编码的日志 author: zyumeng Blog: [url] http://www.cnblogs.com/zyumeng/ [/url] 利 ...

  8. jq原创幻灯片插件slideV1.0

    jq各种插件层出不穷,当然幻灯片插件也不例外,于是本人也自已写了一款,对于目前所做项目来说,足够用了,slideV1.0插件使用很简单,配置如下: 1.三种按钮类型接口选择(默认类型.数字类型.缩略图 ...

  9. Ubuntu 12.04更换显示器后显示“显示不支援”,只能进恢复模式工作

    以前用的一台14寸液晶,换成17寸后,进入系统显示器上“显示不支援”  .仔细观查,电脑硬盘自检能显示后,后面都是黑屏. 解决过程. 因为grub 启动菜单不能显示.盲按方向键,发现菜单里的其它项目可 ...

  10. 标签static

    静态文本控件的功能比较简单,可作为显示字符串,图标,位图用.创建一个窗口可以使用成员函数: BOOL CStatic::Create( LPCTSTR lpszText, DWORD dwStyle, ...