1.多表查询:一张以上的表进行查询,称为多表查询,多表查询的时候可以为表指定别名的方式以简化查询列的编写,在多表查询中,会产生笛卡尔积,就是两张表的总数相乘得到的结果,如果要想消除笛卡尔积要通过关联条件。注意左连接和右连接

2.分组统计和统计函数
·统计函数:COUNT(),AVG(),SUM(),MAX(),MIN()
·统计函数必须出现在分组统计之中,所谓的分组就是指定列中存在重复的内容,使用GROUP BY 的方式进行分组统计。
·如果要加入分组条件,则编写HAVING字句,所有的统计函数作为条件的话只能在HAVING中出现,不能在WHERE之中使用。
·在使用分组的时候,一定要注意,查询的时候只能出现分组函数和分组条件。
·分组函数允许嵌套,但是嵌套之后不能在查询其他字段,包括分组字段。

3.子查询
·在一个查询中包含另外一个查询,称为子查询
·子查询可以出现在任意位置:SELECT、FROM、WHERE
·子查询可以结合多表关联,分组统计完成复杂的查询功能

4.数据库的更新操作
·复制表(Orcale) CREATE TABLE 表名称 AS(子查询);
·表的数据增加 INSERT INTO 表名称(字段) VALUES(值)
·更新 UPDATE 表名称 SET 字段=值....WHERE 条件
·数据删除 DELETE FROM 表名称 WHERE 删除条件

5.事务处理
·所有的操作要么全部成功,要么全部失败
·在Orcale之中每一个连接到数据库上的用户表示一个session,一个session所做的修改不会立刻真正的修改数据库,而是等待用户的提交,用户通过COMMIT 提交或者使用rollback 进行回滚操作
·在Orcale之中是会出现死锁的情况,互相等待对方的提交。

7.表的建立
·建立新表:自己制定需要的字段及类型
·复制表:复制已有表的结构或者数据,如果不需要数据,只需要再子查询写一个永远不可能成立的条件

8.可以使用DROP TABLE 删除一张表

9.截断表:TRUNCATE TABLE ,被阶段后的表,内容不可回滚,会立即释放所有的资源

10.约束,SQL 之中存在5种约束:
·单表上的约束:
 |-主键约束:PRIMARY KEY
 |-非空约束:NOT NULL
 |-检查约束:CHECK
 |-唯一约束: UNIQUE
·关联表的约束:
 |-外键约束:FOREIGN KEY,表示子表的取值和父表中的取值有所关联
 |-删除的时候应该先删除子表再删除父表
 |-如果现在要想直接删除父表,可以采用Orcale的强制手段:
  |-DROP TABLE 表名称 CASCADE CONSTRAINT
  |-级联:ON DELETE CASCADE 当父表被删除后,子表对应内容也删除

·约束一般在表建立的时候就已经完成了,尽可能不要去修改表的约束。

·注意约束名称的命名规范

11.ROWNUM 是一个伪列,会自动存在,表示每一个查询的行数
 ·可以部分的取出数据表中的数据(分页)

12.集合操作 交(union/union all) 并(intersete) 差(minue)

13.表的修改:ALTER 指令
·增加列:ALTER TABLE 表名称 ADD(字段名称,字段类型[,DEFAULT 默认值])
·修改列:ALTER TABLE 表名称 MODIFY(字段名称,字段类型[,DEFAULT 默认值])
·增加约束:ALTER TABLE 表名称 ADD CONSTRAINT  约束名称 约束类型(字段);
·删除约束:ALTER TABLE 表名称 DROP CONSTRAINT  约束名称 约束类型(字段);

Oracle的总体回顾的更多相关文章

  1. mysql内容总体回顾

    数据类型: 数值类型: 整形 浮点型 字符串: char(定长)\varchar(不定长) char(定长):插入数据或查询数据都快,因为char在磁盘上插入数据时的存储空间是固定的,简单粗暴,直接就 ...

  2. Oracle 基本知识回顾

    1.查找数据库所用的字符集编码:SELECT USERENV('language') FROM DUAL;2.将一个表中的字段,插入到这个表:INSERT INTO TABLE SELECT * FR ...

  3. Oracle从入门到精通(笔记)

    一.Oracle11g概述 1.6 启动与关闭数据库实例 1.6.1 启动数据库实例 Oracle数据库实例启动分3个步骤:启动实例,加载数据库,打开数据库: 命令格式:startup [nomoun ...

  4. 装服务器,测试数据库,简单的maven命令

    [说明]今天总体回顾一下:大概是早上装服务器,下午测试数据库,晚上了解简单的maven命令 一:今日完成 1)在远程服务器的tomcat 设置好管理员的登录账号 2)登录tomcat 的项目管理 查看 ...

  5. Java——泛型

    前言 一般的类和方法,使用的都是具体的类型:基本类型或者自定义的类.如果我们要编写出适用于多种类型的通用代码,那么肯定就不能使用具体的类型.前面我们介绍过多态,多态算是一种泛化机制,但是也会拘泥于继承 ...

  6. MVVM在WPF中应用(1)

    在软件行业浸润了这么多年,第一次在MES的工厂里从事软件开发. 在这里的感觉就是安静.宽松,比在那些专门以软件为主的企业中轻松自在.在这里的第一个项目是关于数据的导入和导出,还有数据的比较这些功能. ...

  7. day4python学习

    2.3.1.字符串的索引与切片. 字符串是不可变类型,所有对他的操作(如切片split)都是生成的新的字符串, 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推,从右往左数的话是从- ...

  8. 2018软件工程W班助教小结博客

    一.总体回顾 我是汪老师实验室的研二的一名研究生,在研一的课程中就上过老师带的高级软件工程(采取的模式是一样的,亲身经历了一学期所以对整体流程比较清楚).实验室的学生当老师实践课的助教是这几年流传下来 ...

  9. [jvm]java内存模型

    一.java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一 ...

随机推荐

  1. hdu 5570 balls(期望好题)

    Problem Description There are n balls with m colors. The possibility of that the color of the i-th b ...

  2. Ajax请求ashx返回各类数据的常见处理方式

    .请求text数据,在success事件中手动解析 前台: $.ajax({ type: "post", url: "checkFile.ashx", data ...

  3. 后缀数组da3模板

    在做poj2406的时候...按论文给的rmq模板会超内存...然后网上找了http://blog.csdn.net/libin56842/article/details/46310425这位大爷的d ...

  4. Linux多线程编程小结

     Linux多线程编程小结 前一段时间由于开题的事情一直耽搁了我搞Linux的进度,搞的我之前学的东西都遗忘了,非常烦躁的说,如今抽个时间把之前所学的做个小节.文章内容主要总结于<Linux程序 ...

  5. Malloc碎碎念

    (以前为给同学分享写的点东西,很基础.)现在的比赛中堆溢出非常常见,对于glibc下malloc的理解也要深入一些. malloc_chunk的对齐属性 在glibc中,malloc_chunk以 2 ...

  6. 06JS高级创建对象使用原型共享对象方法

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  7. iOS下的实际网络连接状态检测(转)

    序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求.为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示.对绝大部分iOS开发者来说,从苹果示例代 ...

  8. 使用ajax发送邮件的实例

    jsp页面代码如下: <tr>   <td>    发件人地址:<s:textfield id="fromAddress" name="fr ...

  9. mysqli扩展库的 预处理技术 mysqli stmt

    问题的提出? 现在需要向mysql数据库添加100个用户,请问如何实现? 思路: 使用for循环100次,向数据库中添加100个用户. 使用批量添加 $sql1=”insert xxx”; $ssql ...

  10. php 日期 - 计算2个日期的差值

    /** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...