关于我对Oracle的一些认知

本文介绍了Oracle数据库的基础知识,包括数据库的概述,Oracle数据库的特点,以及如何创建用户和表空间。详细讲解了表空间的组成、默认表空间的作用,以及创建、修改和删除表空间的SQL语句。此外,还提到了用户管理,包括创建、修改用户,以及权限和角色的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,数据库的概述

数据库(database、db)指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。

其中数据库分为关系型数据库和非关系型数据库。

关系型数据库:它是将数据以关联关系或者二维表的形式存储的数据库。

 如 oracle、mysql、db2、sql server、等;

非关系型数据库:一般是以键值对方式存储数据的数据库。

如 redis、hadoop(hbase) 等

2,Oracle数据库的概述

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

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS

关系数据库管理系统(Relational Database Management System:RDBMS)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。

3,创建用户和表空间

表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间

每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。

表空间的大小等于构成该表空间的所有数据文件大小之和。

默认包含如下表空间(从v$tablespace中查看):SYSTEM、SYSAUX、TEMP、UNDOTBS1、USERS

SYSTEM是系统表空间,存放系统的最基本的信息,如果SYSTEM表空间坏掉,Oracle将无法启动。

SYSAUX从10g中引入,作为SYSTEM的辅助表空间,用以减少SYSTEM表空间的负荷 。以前其他表空间中的一些组件,现在放到SYSAUX表空间中了

TEMP是临时表空间,当排序不能在分配的空间中完成时,就会使用磁盘排序的方式,即在Oracle实例中的临时表空间中进行。

UNDOTBS1是撤销表空间,是UNDO类型的表空间,保存用户进行DML操作中,修改前的数据。

USERS是数据库默认的永久表空间。

查询当前用户默认表空间

select default_tablespace from user_users;

创建表空间:

create  tablespace  tablespace_name datafile  '表空间文件路径'  size 1G autoextend on next 100M maxsize unlimited;

create tablespace:创建表空间关键字

tablespace_name:表空间名称

datafile:指定表空间文件(一般指向oracle安装根目录下oradata/数据库实例名/.dbf)

size 1G:指定表空间文件的初始大小,大小单位可以是G、M、K等

autoextend on next 100M:autoextend表示表空间大小自动扩展,on next 100M指定每次表空间满了之间扩展的大小

maxsize unlimited:maxsize指定表空间的最大存储值,unlimited表示不限制表空间的最大值(也就是只要硬盘不满,表空间就可以一直扩展)

创建一个test1的表空间(必须使用管理员用户system, sys )

create  tablespace  test1

datafile  'D:\app\Administrator\oradata\orcl\test1data.dbf'  

size 1G

autoextend on next 100M

maxsize unlimited;

--修改表空间

ALTER database 数据库名

    DATAFILE 'D:\app\Administrator\oradata\orcl\test1data.dbf' AUTOEXTEND   

    ON NEXT 200M MAXSIZE 2G  

--修改原有的数据文件大小

alter database 数据库名datafile 'D:\app\Administrator\oradata\orcl\test1data.dbf'   resize 100M;

--为表空间增加新的数据文件

alter database 数据库名 表空间名 add datafile 数据文件 size 大小

临时表空间

当排序不能在分配的空间中完成时,就会使用磁盘排序的方式,即在Oracle实例中的临时表空间中进行。

创建临时表空间语法:

create temporary tablespace tablespace_name tempfile '表空间文件路径' size 1G autoextend on next 100M maxsize unlimited;

temporary:表明创建的表空间是临时表空间

tempfile:指定临时表空间文件

创建临时表空间(用管理员用户)

create temporary tablespace test1temp  

tempfile 'D:\app\Administrator\oradata\orcl\test1temp.dbf'

size 1G autoextend on next 100M maxsize unlimited;

创建用户语法:

create user user_name

default tablespace tablespace_name

temporary tablespace temptablespace_name

identified by password;

create user:创建用户关键字

user_name:用户名

default tablespace tablespace_name:指定用户的默认表空间 tablesapce_name表空间名(如果省略默认使用users表空间)

temporary tablespace temptablespace_name:指定用户的默认临时表空间,temptablespace_name临时表空间名(如果省略默认使用temp表空间)

identified by password:identified by 指定用户的密码,password用户密码

创建一个test1用户

create user test1

identified by test1

default tablespace test1

temporary tablespace test1temp ;

修改用户

alter user user_name default tablespace tablespace_name temporary tablespace temptablespace_name identified by password;

权限

权限指的是执行特定命令或访问数据库对象的权利

权限有两种类型,系统权限和对象权限

系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限

对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作

GRANT 命令可用于为用户分配权限或角色

系统权限如:

GRANT CREATE SESSION  TO  test1; --此系统权限允许用户连接到数据库上

GRANT CREATE TABLE  TO test1; --此系统权限允许用户创建表

GRANT UNLIMITED TABLESPACE TO test1; --此系统权限允许test1用户任意使用表空间

对象权限如:

GRANT SELECT ON SCOTT.EMP TO test1; --允许用户查询 EMP 表的记录

GRANT UPDATE ON SCOTT.EMP TO test1; --允许用户更新 EMP 表中的记录

GRANT ALL ON SCOTT.EMP TO test1;  --允许用户插入、删除、更新和查询 EMP 表中的记录

角色管理

角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。

GRANT CONNECT TO test1; --CONNECT角色允许用户连接至数据库,并创建数据库表

GRANT RESOURCE TO test1;  --RESOURCE角色允许用户使用数据库中的存储空间

GRANT CREATE SESSION TO test1; --此系统权限允许用户连接到数据库上

查看角色(只能查看登陆用户拥有的角色)所包含的权限

select * from role_sys_privs;

给用户赋权限

grant connect,resource to test1;

revoke 收回权限

Revoke  commect,resource   from test1;

删除用户

drop user user_name;

删除表空间

drop tablespace tablespace_name;

4,基础的表查询

1.简单查询语句的语法

select 列名,列名,...,列名 from 表名;

select ... from :它是查询语句的关键字

select后面跟是你要从数据库里取的数据

from后面跟表名,表示你要从哪张中读取这些数据

如:

--查询emp表中员工的编号、姓名、工作、工资

select empno,ename,job,sal from emp;

--查询emp表中所有列的信息

select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;

注: 使用*会让它执行效率变低,尽量使用列名。

2,注释

     单行注释:--

     多行注释:以/* 开始,以*/结尾     

3,sql中的别名

     对象名 as 别名

      对象名  别名

如:

select empno as 员工编号,ename 姓名,job 工作,mgr 上级编号,hiredate 入职日期,sal 工资,comm 佣金,deptno 部门编号 from emp;

使用别名之前

使用之后

 

 

注意:给表、视图取别名时不能加as

select e.* from emp e; --select * from emp;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值