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:对数据库特定部分进行锁定

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试题50道

文章目录 1.谈谈你对Spring的理解2.Spring的常用注解有哪些3.Spring中的bean线程安全吗4.Spring中的设计模式有哪些5.Spring事务传播行为有几种6.Spring是怎么解决循环依赖的7.SpringBoot自动配置原理8.SpringBoot配置文件类型以及加载顺序9.SpringCloud的常用组件有哪些10.说一…

【JavaEE进阶】 关于⽇志框架(SLF4J)

文章目录 🌳SLF4j🌲⻔⾯模式(外观模式)🚩⻔⾯模式的定义🚩⻔⾯模式的优点 🍃关于SLF4J框架🚩不引⼊⽇志⻔⾯🚩引⼊⽇志⻔⾯ ⭕总结 🌳SLF4j SLF4J不同于其他⽇志框架,它不是⼀个真正…

ETF是什么?为什么要做ETF?做ETF的好处是什么?

现在越来越多的人都在做ETF了。那ETF到底怎么做?大家对股票和基金都不陌生,但对ETF就不太熟悉了。今天,咱们就对ETF做个相对全面的介绍,希望对大家投资有所帮助哦!ETF具体操作详情查看,注意结尾惊喜福利&am…

CGLIB动态代理(AOP原理)(面试重点)

推荐先看JDK 动态代理(Spring AOP 的原理)(面试重点) JDK 动态代理与 CGLIB 动态代理的区别 JDK 动态代理有⼀个最致命的问题是其只能代理实现了接⼝的类. 有些场景下,我们的业务代码是直接实现的,并没有接⼝定义.为了解决这个问…

使用禅道进行项目管理_后台自定义功能介绍

文章目录 前言一、前置权限二、自定义功能概述三、自定义1. 自定义“研发需求”2. 自定义“任务”3. 自定义“Bug”4. 自定义“用例”5. 自定义“测试单”6. 自定义“待办”7. 自定义“用户”8. 自定义“必填项” 总结 前言 禅道是一款国产开源的项目管理软件,它基…

公网环境调试本地配置的Java支付宝沙箱环境模拟支付场景

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问 前言 在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境…

揭开Spring MVC的真面目

官方对于Spring MVC的描述为: Spring Web MVC是基于Servlet API框架构建的原始Web框架,从一开始就包含在Spring框架中。它的正式名称“Spring Web MVC”来自其源模块的名称(Spring-webmvc),但它通常被称为“Spring-MVC…

【Gene Expression Prediction】Part1 基因表达数据的获取与分析

文章目录 Gene Expression Prediction1. Intro2. Up-sampling3. Compressive sensing3.5 Predicting Reporter Expression from Chromatin Features4. Predicting splicing from sequence 来自Manolis Kellis教授(MIT计算生物学主任)的课 YouTube&#x…

【网站项目】基于SSM的273校园二手交易网站

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

C++PythonC# 三语言OpenCV从零开发(6):边界填充+Csharp调用Python matplotlib代码

文章目录 相关链接前言测试图片边界填充pythonCCsharp错误代码Mat遍历最终代码和结果 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料课件笔记) 前言 今天来接着…

【操作系统】实验二 Proc文件系统

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

网络安全的信息收集方法有哪些?

网络安全攻击中的信息收集是攻击者为了了解目标系统的弱点、配置、环境和潜在的防御措施而进行的活动。以下是一些常见的信息收集手段: 开放网络资源查询: 使用搜索引擎查找关于目标组织的信息,包括新闻稿、社交媒体帖子、官方网站等。通过W…