Oracle

Oracle数据库


前言

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。


提示:以下是本篇文章正文内容,下面案例可供参考

安装

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

事务控制(TCL)

事务控制语言的组成部分

1.COMMIT:提交事务,即把事务中对数据库的修改进行永久保存。
2.ROLLBACK:回滚事务,即取消对数据库所做的任何修改。
3.SAVEPOINT:在事务中创建存储点。
5.ROLLBACK TO SavePoint_Name:将事务回滚到存储点。

开启事务

在Oracle中,事务在上一次事务结束以后,数据“第一次”被修该时自动开启。


结束事务

数据被提交时会结束事务

1.执行COMMIT指令后,当前事务会被提交。
2.执行DDL或DCL语句后,当前事务自动被提交。
3.与Oracle分离,如退出PL/SQL Developer时,当前事务自动被提交。

数据被撤销时会结束事务

1.执行ROLLABCK指令后,当前事务会被回滚。
2.服务器进程异常结束。
3.DBA停止回话。


示例
创建表
CREATE TABLE dept(
    deptno NUMBER(2) PRIMARY KEY, -- 部门编号
    dname VARCHAR2(14),           -- 部门名称
    loc VARCHAR2(13)              -- 地址
);

插入数据

INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
);

查询数据

SELECT * FROM dept;

查询结果:
在这里插入图片描述

虽然已经查询出了结果,但是,如果此时进行ROLLBACK操作的话,数据将会被回退,因为数据并没有被COMMIT;所以,在执行完修改语句之后,应该执行COMMIT语句,从而确保数据被永久保存。

提交

COMMIT;

插入数据

INSERT INTO dept VALUES (50,‘a’,NULL);
INSERT INTO dept VALUES (60,‘b’,NULL);

设置存储点

SAVEPOINT a;

插入数据

INSERT INTO dept VALUES (70,‘c’,NULL);

查询数据

SELECT * FROM dept;

查询结果为:
在这里插入图片描述
回滚到存储点

ROLLBACK TO a;

查询结果为:
回滚到存储a的位置
在这里插入图片描述
回滚

ROLLBACK;

查询数据

SELECT * FROM dept;

查询结果为:
没有进行提交则直接回滚到最初
在这里插入图片描述

伪列

伪列好比Oracle的列表,并未存储在表中,可查,不可增删改值

ROWID

返回每行数据的地址

1.可做标识,因存储位置不一
2.快速查询表中的一行
3.能显示表的行是如何存储的

查询ROWID伪列的方式:

SELECT ROWID FROM SCOTT.emp;

ROWID的格式
ROWID:AAAR3sAAEAAAACXAAA

AAAR3sAAEAAAACXAAA
数据对象编号文件编号块编号行编号

ROWNUM


ROWNUM像是排行榜给值排序

ROWNUM伪列的主要用途

1.限制查询返回的主要用途

SELECT ROWNUM FROM SCOTT.emp;

由于ROWNUM的值始终从1开始,所以使用WHERE ROWNUM > 2条件是查不出任何数据的

表操作


创建表(CREATE TABLE)

语法
加粗样式

CREATE TABLE [模式名称.]表名(
    列名 数据类型 [列属性],
    ...
);

示例

CREATE TABLE stuInfo(
    stuNo CHAR(6) NOT NULL,
    stuName VARCHAR(20) NOT NULL,
    stuAge NUMBER(3,0) NOT NULL,
    stuID NUMBER(18,0) ,
    stuSeat NUMBER(2,0)
);

清空表(TRUNCATE TABLE)


语法

TRUNCATE TABLE 表名;
示例

TRUNCATE TABLE stuInfo;

数据操纵语言DML


stuInfo示例

在这里插入图片描述

拼接查询

SELECT stuName||’_’||stuAge “name_age” FROM stuInfo;

结果:
在这里插入图片描述

选择重复的行


SELECT DISTINCT stuName,stuAge FROM stuInfo;

结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值