初步体验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(),返回受影响行数

原文地址:https://www.cnblogs.com/h-w-b/p/12462897.html