Oracle1 数据库管理

Oracle的安装

一、基础表的创建

1.1 切换到scott用户

  1. 用sys 账户 登录

image.png

  1. 解锁scott账户
alter user scott account unlock;

conn scott/tiger;

image.png
发现并不存在scott账户,自己创建一个?

  1. 查找资料后发现,scott用户的脚本需要自己执行一下
@C:\app\oracle\product\12.2.0\dbhome_1\rdbms\admin\scott.sql;

image.png

  1. 手动创建了
--sys
CREATE USER c##scott IDENTIFIED BY TIGER;
alter user c##scott identified by TIGER;
GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE, DBA TO c##scott IDENTIFIED BY TIGER;
ALTER USER c##scott DEFAULT TABLESPACE USERS;
ALTER USER c##scott TEMPORARY TABLESPACE TEMP;


--c##scott
DROP TABLE DEPT;
CREATE TABLE DEPT
       (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
	DNAME VARCHAR2(14) ,
	LOC VARCHAR2(13) ) ;
DROP TABLE EMP;
CREATE TABLE EMP
       (EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
	ENAME VARCHAR2(10),
	JOB VARCHAR2(9),
	MGR NUMBER(4),
	HIREDATE DATE,
	SAL NUMBER(7,2),
	COMM NUMBER(7,2),
	DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);
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');
INSERT INTO EMP VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'c##SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
DROP TABLE BONUS;
CREATE TABLE BONUS
	(
	ENAME VARCHAR2(10)	,
	JOB VARCHAR2(9)  ,
	SAL NUMBER,
	COMM NUMBER
	) ;
DROP TABLE SALGRADE;
CREATE TABLE SALGRADE
      ( GRADE NUMBER,
	LOSAL NUMBER,
	HISAL NUMBER );
INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
COMMIT;


1.2 导入数据文件

01_del_data.sql02_hr_cre.sql03_hr_popul.sql

@C:\Users\ifeng\Desktop\guigu\01_del_data.sql;

@C:\Users\ifeng\Desktop\guigu\02_hr_cre.sql;

@C:\Users\ifeng\Desktop\guigu\03_hr_popul.sql;

image.png

二、Oracle 管理

可以用Oracle企业管理器 连接 数据库服务器

image.png

2.1 用户
2.1.0 创建用户
create user ifeng identified by 123456

image.png

2.1.1 概要文件

每个Oracle数据库都有一个默认的资源概要文件,名为DEFAULT
其中的口令 可以 设置 用户密码错误n次口 账户锁定

image.png

image.png

image.png

2.2 对象

每一个登录的账户都是一个用户对象

image.png
未授权的情况下,每个用户只能读取自己的创建的表
授权:

  1. 在Oracle企业管理器 中 找到要管理的用户,
  2. 其他用户(当做一个对象)呈现
  3. 其他对象(用户)的 表 ,给select 权限

image.png

2.2.2 模式

组织数据库 对象(用户)的一个逻辑概念,与数据库对象的物理存储无关
一个模式只能属于一个数据库用户,与用户名相同

从一个模式中引用另一个模式的对象(查询另一个用户的表)
可以用 scott.emp 的形式 ,不同模式的对象名字可以重复

2.2.3 模式对象和非模式对象

可以包含在模式中的对象:

  • 索引
  • 触发器

不属于任何模式的对象:

  • 表空间、
  • 用户账户、
  • 角色、
  • 概要文件
2.2.4 默认表空间

逻辑存储

用户的各种模式对象(表、索引、过程、触发器)都放在表空间中
默认为USERS表空间

2.2.5 临时表空间

大量的查询排序 需要 用到临时表
默认为TEMP表空间

2.2.6 SYSTEM表空间

system表空间用来存储数据库系统信息

  • 表、视图 —数据字典
  • 源代码—函数、触发器

2.3 权限

2.3.1 系统权限

对整个数据库的操作能力
image.png

2.3.2 对象权限

对某个对象(用户、DB的概念)执行的权限
image.png

2.4 角色

利用角色进行管理

很好理解吧,也可以创建自定义的角色

给与用户权限的时候,也可以直接授予 角色
image.png

三、SQL

SQL(Structured Query Language)和 PL/SQL(Procedural Language/Structured Query Language)是用于在 Oracle 数据库中进行编程和查询的不同语言。
下面是它们之间的主要区别:

  1. SQL 是一种用于管理和查询关系型数据库的语言。它用于执行操作,如插入、更新和删除数据,以及查询数据。SQL 主要用于处理数据和执行数据库级别的操作,而不是编写复杂的业务逻辑。
  2. PL/SQL 是 Oracle 数据库提供的过程式编程语言,它结合了 SQL 和通用编程语言的特性。PL/SQL 具有变量、条件控制、循环和异常处理等传统编程语言的功能,同时也可以包含 SQL 语句来操作数据库。它允许开发者编写复杂的业务逻辑、触发器、存储过程和函数等。
  3. SQL 主要用于执行查询和数据操作,它强调对数据进行检索和操纵的能力。SQL 语句可以用于从数据库中获取数据、创建表、定义约束、建立索引等。SQL 是一种声明性语言,您只需指定您需要什么,而不需要关注实现的细节。
  4. PL/SQL 是一种完整的编程语言,它具有流程控制、变量和常量、异常处理等编程语言的特性。PL/SQL 强调编写复杂的业务逻辑,可以将 SQL 语句与程序代码结合起来,实现更灵活和强大的功能。

总结来说,SQL 是一种用于查询和操作数据库的语言,而 PL/SQL 是一种过程式编程语言,它在 SQL 的基础上扩展了更多的编程功能。SQL 主要用于对数据库进行操作,而 PL/SQL 则更适合编写数据库应用程序和处理复杂的业务逻辑。

  • DML : Manipulation 操纵 语言
    • insert、update、delete
    • select
  • DDL : Definition 定义 语言
    • create
    • alter
    • drop
    • create/drop index :在表上创建索引
  • DCL : Control 控制语言
    • Grant/Revoke
    • commit/rollback
    • savepoint
    • Lock:对数据库特定部分进行锁定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/348310.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Fooocus 深度学习】SDXL,AIGC生图,源码解读

文章目录 使用通配符增加prompt多样性Fooocus的风格实现 使用通配符增加prompt多样性 prompt和negative_prompt都可以通过apply_wildcards函数来实现通配符替换,apply_wildcards会从txt中随机找一个出来。 promptsunshine, river, trees, __artist__ task_prompt …

Adobe Acrobat DC软件安装后右键菜单点击无反应报错解决办法

安装了Adobe Acrobat DC软件后,Adobe Acrobat DC软件会修改系统的右键菜单,如果一旦Adobe Acrobat DC软件出现问题,你的右键菜单也就不能使用了,出现未响应的状态。 那如何恢复系统原来的右键菜单呢,办法很简单&#x…

在线海报图片设计器、图片编辑器源码/仿照稿定设计源码

在线海报设计系统素材设计源码是一个漂亮且功能强大的在线海报图片设计器,仿照稿定设计而成。该系统适用于多种场景,包括海报图片生成、电商分享图、文章长图、视频/公众号封面等。用户无需下载软件,即可轻松实现创意,迅速完成排版…

全网诚招工程项目管理平台城市合伙人

我们需要全力打造适用于建筑装饰、机电安装、光伏、钢结构工程项目的项目管理平台;专门针对建筑施工企业,为施工企业提升数字化工程管理水平,提升施工管理效率,节约成本,控制施工过程风险,严格管理施工过程…

arcgis实现截图/截屏功能

arcgis实现截图/截屏功能 文章目录 arcgis实现截图/截屏功能前言效果展示相关代码 前言 本篇将使用arcgis实现截图/截屏功能&#xff0c;类似于qq截图 效果展示 相关代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><meta nam…

289. 生命游戏

根据 百度百科 &#xff0c; 生命游戏 &#xff0c;简称为 生命 &#xff0c;是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板&#xff0c;每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态&#xff1a; 1 即为 活细胞 &am…

嵌入式工程师有什么推荐学习路径?

嵌入式工程师有什么推荐学习路径&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff…

阿赵UE学习笔记——12、植物系统

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎的用法。这次需要使用植物系统在地形上添加一些草和石头的装饰。 一、素材准备 之前介绍过&#xff0c;可以在Quixel上面获取免费的资源&#xff0c;所以我这里就下载了一些资源&#xff0c;有草和石头的…

MySQL(下)

四、事务 一、概念 对数据库的一次执行中有多条sql语句执行。这多条sql在一次执行中&#xff0c;要么都成功执行&#xff0c;要么都不执行。保证了数据完整性。MySQL中只有innodb引擎支持事务。 二、特性 事务是必须满足 4 个条件&#xff08;ACID&#xff09;&#x…

【mongoDB】集合的创建和删除

目录 1.集合的创建 2. 查看所有集合 3.删除集合 1.集合的创建 格式&#xff1a; db.createCollection ( name ) 例如创建一个名为 bbb 的集合 还可以通过传递一个选项对象来指定集合的属性&#xff0c;例如最大文档的大小&#xff0c;索引选项等 例如 这样创建了一个名为 cc…

【业务功能篇133】 Mysql连接串优化性能问题

rewriteBatchedStatementstrue开启了MySQL驱动程序的批量处理功能。 spring.datasource.urljdbc:mysql://localhost:3306/mydatabase?rewriteBatchedStatementstrue 在MyBatis Plus框架中&#xff0c;批量插入是一种高效的数据库操作方式。通过开启rewriteBatchedStatementstr…

在优衣库新衣年货里,看见幸福感的“共振”

一场寒潮自北向南掠过&#xff0c;很多地区迎来瑞雪兆丰年的美好意象&#xff0c;年味渐浓&#xff0c;农历新年进入倒计时状态。带着对新年团聚的期许&#xff0c;置办年货&#xff0c;开始成为老百姓在这个时节的大事。 经历颇具魔幻色彩的2023年&#xff0c;“龙年”对中国…

x-cmd pkg | sqlite3 - 轻量级的嵌入式关系型数据库

目录 简介首次用户 技术特点竞品和相关产品sqlite 与 x-cmd进一步阅读 简介 sqlite3 是一个轻量级的文件数据库&#xff0c;体积非常小&#xff0c;提供简单优雅而功能强大的 sql 化的数据查询。 通常情况下&#xff0c;sqlite 指的是 SQLite 2.x 版本&#xff0c;而 sqlite3 …

Aleo测试网回顾-测试网期间共释放了多少积分

上一篇我们整理了Aleo的详细项目介绍&#xff0c;Aleo项目详细介绍-一个兼顾隐私和可编程性的隐私公链-CSDN博客 接下来&#xff0c;让我们盘点下测试网期间的积分释放情况&#xff0c;测试网期间的奖励积分也将是Aleo主网上线后的抛压来源。测试网期间共计释放了4000万的积分…

MATLAB标记点

% clear % clc % close all % % 生成随机时程信号 % fs100; % signalLength fs*60*2; % time 1/fs:1/fs:signalLength/fs; % randomSignal 2*sin(2*pi*0.5*time)3*cos(2*pi*1*time)randn(1, signalLength); function [frequencyPP]funct_peak(signal,Hz) % 生成随机时…

跨境防诈指南 | 了解美国电商持续遭遇的“超额支付”欺诈

目录 常见的“超额支付”欺诈类型 假支票诈骗 虚假信用卡欺诈 基于交易的洗钱诈骗 防止“超额支付”欺诈 增强交易安全保障 加强异常交易识别 借助反欺诈技术识别 加强团队欺诈培训 美国商业委员会的统计报告显示&#xff0c;2023年年1至6月&#xff0c;联邦贸易委员会&#xf…

kafka(三)生产问题

一、线上机器规划 二、线上问题优化 1、消息丢失的情况 消息发送端&#xff1a; a&#xff1a;acks0&#xff1a; 表示producer不需要等待broker确认收到消息的回复就可以继续发送消息&#xff1b;性能高&#xff0c;但很容易丢失消息&#xff1b; b&#xff1a;acks1&#x…

《游戏-01_3D-开发》之—人物动画控制器

创建变量&#xff0c; 创建线&#xff0c; 连接&#xff0c; 选中线会变为蓝色&#xff0c;新增变量&#xff0c; 设置线&#xff0c; 双击子层进入子层&#xff0c; 创建变量&#xff0c; 双击SkillPanel 拖拽好之后返回上一层&#xff0c; 依次连接&#xff0c; 设置线&#…

《WebKit 技术内幕》学习之十四(1):调式机制

第14章 调试机制 支持调试HTML、CSS和JavaScript代码是浏览器或者渲染引擎需要提供的一项非常重要的功能&#xff0c;这里包括两种调试类型&#xff1a;其一是功能&#xff0c;其二是性能。功能调试能够帮助HTML开发者使用单步调试等技术来查找代码中的问题&#xff0c;性能调…