初识Oracle

Oracle和MySQL同为数据库区别如下:

  MySQL:免费,安装使用都相对比较简便,适合小型企业使用,属轻级。

  Oracle:收费,相比较MySQL比较复杂,不过数据库服务更完善(权限,并发,事务,一致性);更适合中大型企业使用,属重级。

  共同点:都属于关系型数据库 RDBMS。

 

关系型数据库与非关系型数据库区别如下:

  一、关系型数据库

 

  关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
    优点:
      1、易于维护:都是使用表结构,格式一致;
      2、使用方便:SQL语言通用,可用于复杂查询;
      3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
    缺点:
      1、读写性能比较差,尤其是海量数据的高效率读写;
      2、固定的表结构,灵活度稍欠;
      3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。


  二、非关系型数据库

  非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
    优点:
      1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
      2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
      3、高扩展性;
      4、成本低:nosql数据库部署简单,基本都是开源软件。

    缺点:
      1、不提供sql支持,学习和使用成本较高;
      2、无事务处理;
      3、数据结构相对复杂,复杂查询方面稍欠。

  非关系型数据库的优势:

    1.性能:NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。

    2.可扩展性:同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

  关系型数据库的优势:

    1.复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。

    2.事务支持:使得对于安全性能很高的数据访问要求得以实现。

对于这两类数据库,对方的优势就是自己的弱势,反之亦然。

非关系型数据库的分类和比较:
    1、文档型
    2、key-value型
    3、列式数据库
    4、图形数据库

 

 

 

 

连接方式:

  1. 在cmd命令行输入sqlplus

  2.  PLSQL/Developer连接,操控数据的工具,官方推荐

 

Oracle服务:

  OracleServiceSID:Oracle的核心服务,要启动Oracle实例,必须启动该服务

  OracleOraDb11g_homeTNSListener:Oracle服务器的监听程序  

  OracleJobSchedulerSID:任务调度服务,负责对用户创建的作业按预先设置的时间周期性地进行调度执行,从而实现Oracle服务器的自动管理功能

  OracleDBConsoleSID:负责在Windows平台下启动Oracle企业管理器。Oracle 11g企业管理器是一个功能完善的Oracle数据库管理工具,可以管理本地数据库环境和网格环境

 

默认账户:

  SYS系统账户:Oracle中的超级用户,主要用于维护系统信息和管理实例,数据库中数据字典的所有表和视图都存储在SYS模式中

  SYSTEM用户:是Oracle中默认的管理员,它拥有DBA权限。该用户拥有Oracle管理工具使用的内部表和视图,通常通过SYSTEM用户管理Oracle数据库的用户、权限和存储等

  首次使用SCOTT和HR需要登录SYSTEM解锁权限设置密码

  SCOTT:Oracle数据库的一个示范账号。SCOTT用户模式包含4张示范表,SCOTT用户的默认口令为scott

  HR用户:类似于SCOTT用户,示例表更多

常用数据类型:

  字符类型

    CHAR类型

      CHAR表示固定长度字符串,长度不够的用空格补充,最多可以存储2000字节

      CHAR类型区分中英文,中文在CHAR中占两个字节,而英文只占一个字节

    VARCHAR2类型

      VARCHAR2表示可变长度字符串,最多可以存储4000字节,在定义该数据类型时,应该指定其大小。与CHAR类型相比,使用VARCHAR2可以节省磁盘空间

  数值类型

    NUMBER类型可以存储正数、负数、零、定点数和精度为38位的浮点数

    NUMBER(M,N)。其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数

  日期类型

    DATE类型

      用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,长度是7,7个字节分别表示年、月、日、时、分和秒

    TIMESTAMP类型

      用于存储日期的年、月、日以及时间的小时、分和秒值。其中,秒值精确到小数点后6位,该数据类型同时包含时区信息

  大对象类型

    CLOB大字符串对象类型

      CLOB(Character Large Object)数据类型用于存储可变长度的字符数据,最多可存储4GB数据,用于存储VARCHAR2类型不能存储的长文本信息

    BLOB大二进制类型

      BLOB(Binary Large Object)数据类型用于存储较大的二进制对象,如图形、视频剪辑和声音剪辑等,最多可以存储4GB数据

———————————————————分割线———————————————————

2020-02-21PM

alter使用:

  向已经创建的表中增加一个新列

    alter table tableName add columnName dataType;

    alter table tb_shop add memo varchar2(100);

  修改表中指定列的数据类型和类型长度

    alter table tableName modify columnName dataType;

    alter table tb_shop modify memo varchar2(50);

  删除表中指定的列

    alter table tableName drop column columnName;

SQL查询语言主要包括以下4种:

  (1)数据定义语言(Data DefinitionLanguaeDDL):用于创建、修改和删除数据库对象,如CREATE TABLEALTER TABLEDROP TABLE等。

  (2)数据操纵语句Data Manipulation LanguageDML:用于操纵数据包括INSERTUPDATEDELETESELECT等。

  (3)数据控制语言(Data Control LanguageDCL):用于执行授予权限和撤销权限的操作,包括GRANT(授予权限)、REVOKE(撤销权限)两条命令。DCL语句可以自动提交事务。

  (4)事务控制语言(Transactional Control LanguageTCL):用于维护数据的一致性,包括COMMIT(提交事务)、ROLLBACK(回滚事务)和SAVEPOINT(设置保存点)3语句。

哑表dual

  单行单列的表,用于特殊数据的查询

  select sysdate from dual;

  select sys_guid() from dual;

序列

  是一个命名的顺序编号生成器,它能以串行的方式生成一系列顺序整数

  create sequence seq_name start with 1;

  NEXTVAL列返回序列生成的下一个值

  CURRVAL列返回序列生成的当前值

分页SQL

  使用RowNum实现排序功能

  RowNum是一个伪列,它会根据返回的记录生成一个序列化的数字。分页

  select rownum rn,t.* from tableName;

  示例:select * from (

           select rownum rn,t.* from emp t

  )where rn<10 and rn>5

———————————————————分割线———————————————————

1. JDBC的含义

JDBC就是Java中连接数据库的一个桥梁

JDBC: java database connectivity的简称是SUN公司提供的一套操作数据库的标准规范,各大数据库厂商按此规范(接口)来实现操作数据库的驱动。JDBC和数据库驱动之间的关系是接口和实现类的关系。

JDBC技术就是使用java代码(程序)发送sql语句的技术

Java和数据交互的通道, JDBC体系结构是用于Java应用程序连接数据库的标准方法。

JAVA只需要提供一套统一接口,而数据库厂商提供对应自己厂商的驱动程序,也是就对应到jar包 Oracle的jar包对应的ojdbc6.jar、ojdbc14.jar

2. Eclipse连接Oracle服务端

1.选择 Window – show view – Data Source Explorer

2.新建数据连接,选择Oracle模板

3.选择对应Oracle版本 添加本地jar包

4. 添加jar包后,回退上一步窗口,补充jdbc连接数据 测试一下

5. 打开Open SQL Scrapbook,测试真实SQL语句.

3. JDBC编程

1. 创建java项目

2. 导入参数文件 .properties(注意用户名和密码是否正确)

3. 导入JDBC工具类

4. 调用工具类,测试查。步骤:

//调用工具类,打开数据库连接

//准备sql

//预装载sql

//执行sql

//收集返回参数(结果集或受影响行数)

//关闭对应流

5. 复制代码到dao层,完成CRUD操作

       对应 ps.executeQuery()查询需要返回结果集

增、删、 对应 ps.executeUpdate()增删改需要返回受影响行数

原文地址:https://www.cnblogs.com/ZXDZXD/p/12335339.html