【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. Android 仿Win8的metro的UI界面(上)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23441455 昨晚没事手机下载了一些APP,发现现在仿win8的主界面越来越多, ...

  2. linux grep常用参数

    # grep [-acinv] [--color=auto] '搜寻字符串' filename选项与参数:-c :计算找到 '搜寻字符串' 的次数-i :忽略大小写的不同,所以大小写视为相同-n :顺 ...

  3. Creating a Swap Partition

    Creating a Swap Partition 1.   Use  fdisk /dev/vda  to open your disk in fdisk. (Use gdisk if you ar ...

  4. Environment Configuration Files

    Environment Configuration Files When a user logs in, an environment is created for that user automat ...

  5. 判断两条直线的位置关系 POJ 1269 Intersecting Lines

    两条直线可能有三种关系:1.共线     2.平行(不包括共线)    3.相交. 那给定两条直线怎么判断他们的位置关系呢.还是用到向量的叉积 例题:POJ 1269 题意:这道题是给定四个点p1, ...

  6. api接口

    目录(?)[-] 接口特点汇总 PHP Token令牌 先说第一个tokenapi_token 服务端接口校验PHP实现流程如下 再说第二个tokenuser_token 接口用例如下 接口特点汇总: ...

  7. 05-XML遍历递归显示到TreeView上(XDocument类)

    1.XML文件(x1.xml): <?xml version="1.0" encoding="utf-8" ?> <itcast> &l ...

  8. 用户 'IIS APPPOOL\ExportExcel' 登录失败。

    解决了前两个错误,在成功打开项目后,在访问数据库又越到如下错误 “/”应用程序中的服务器错误. 用户 'IIS APPPOOL\ExportExcel' 登录失败. 说明: 执行当前 Web 请求期间 ...

  9. Remoting 的“传递的引用”理解

    WCf是集大成者,具有其他微软的很多技术,其中分布式上很多借助于Remoting,所以研究一下Remoting有助于理解WCF 提到Remoting就不得不涉及到MarshalByRefObject这 ...

  10. (转,感谢原作者!)既然选择了Linux,有何必在乎这些——Linux wine国服LOL英雄联盟,完美运行!!

    Linux下玩国服LOL,国服哦.网络上随处都可以搜到wine美服LOL的教程,但腾讯运营的国服客户端跟美服原版相差比较大,按照美服的方式不能搞起国服LOL,由于宿舍文化,这几天我专注于wine一个国 ...