• 初步体验Oracle


    Oracle 与Mysql 对比:

    MySQL: 免费;小型企业;仅是数据库;轻

    Oracle:收费, 中大型企业;数据库服务(权限,并发,事务,一致性);更适合集群;重

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

    非关系型数据库NoSQL(Not Only SQL ):

    Redis,Mongodb,SSDB,HBase

    Redis  基于内存存储,Key-Value数据库,使用比率较高

    SSDB  基于硬盘(内存辅助),企图替代Redis

    Mongodb  基于分布式文档存储,集群部署

    HBase 基于HDFS存储,是大数据Hadoop的子项目,列存储

    两种连接方式:

             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      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数据

    测试常规CRUD:

            

    alter使用:

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

    n  alter table tableName add columnName dataType;

    n  alter table tb_shop add memo varchar2(100);

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

    n  alter table tableName modify columnName dataType;

    n  alter table tb_shop modify memo varchar2(50);

    n  删除表中指定的列

    n  alter table tableName drop column columnName;

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

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

    (2)数据操纵语句(Data Manipulation Language,DML):用于操纵数据,包括INSERT、UPDATE、DELETE、SELECT等。

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

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

    哑表dual

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

    select sysdate from dual;

    select sys_guid() from dual;

    序列

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

    create sequence seq_name start with 1;

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

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

    示例:

     

    RowNum

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

    select rownum rn,t.* from tableName;

    可以使用ROWNUM列返回查询结果集中前N条记录

    分页

    select * from (

           select rownum rn,t.* from emp t

    )where rn<10 and rn>5

    RowID

    rowid就是唯一标志记录物理位置的一个id

    JDBC(Java DataBase Connectivity,java数据库连接)

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

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

    Oracle的jar包对应的 ojdbc6.jar , ojdbc14.jar

    JDBC参数

    n  String driverClass = "oracle.jdbc.driver.OracleDriver";

    n  String url = "jdbc:oracle:thin:@localhost:1521:orcl";

    n  String user = "scott";

    n  String password = "123456";

    Eclipse测试连接

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

     

    2. 新建数据连接

     

    选择Oracle模板

     

    3. 选择对应Oracle版本

     

     添加本地jar包

     

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

     

    测试一下

     

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

    JDBC编程

    1. 创建java项目

    2. 导入参数文件 .properties

    3. 导入JDBC工具类

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

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

             3.2 准备sql

             3.3   预装载sql

             3.4   执行sql

             3.5 收集返回参数

             3.6   关闭对应流

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

             查            对应        ps.executeQuery(),返回结果集

             修改        对应        ps.executeUpdate(),返回受影响行数

  • 相关阅读:
    MYsql 主从复制
    linux下修改apache,nginx服务端口号
    nginx的安装
    oracle启动流程
    openfire源码编译后部署到linux
    openfire重新配置数据库oracle、mysql
    spark安装和登陆配置
    Linux下安装Openfire 4.2.1
    mac toad下建表问题
    linux 下使用exp/imp 或者expdp/impdp导出导入oracle数据表数据
  • 原文地址:https://www.cnblogs.com/h-w-b/p/12462897.html
Copyright © 2020-2023  润新知