ToB企服应用市场:ToB评测及商务社交产业平台

标题: Oracle 基础概念及操作实战 [打印本页]

作者: 诗林    时间: 昨天 19:28
标题: Oracle 基础概念及操作实战
数据库管理



点击查看→Oracle OCP 19C课程先容

点击查看→MySQL 8.0 OCP 认证先容

点击查看→达梦认证管理员(DCA)

点击查看→DAMA中国数据治理认证 | CDGA / CDGP


Oracle 基础概念大揭秘

(一)数据库与实例

在 Oracle 的世界里,数据库和实例是两个至关重要却又极易肴杂的概念。简朴来说,数据库是数据的物理存储集合,它就像是一个巨大的仓库,里面存放着各种各样的数据文件 、控制文件和重做日志文件等,这些文件实实在在地存储在磁盘上,是数据的永世居所。而实例则是一组内存结构和后台进程的集合,它更像是一个勤劳的搬运工,负责在内存和磁盘之间传递数据,为用户提供对数据库的访问服务。
它们之间的关系紧密而又独特。在单实例情况下,一个数据库对应一个实例,就像一把钥匙开一把锁,实例是访问数据库的唯一通道 。而在集群情况(RAC)中,一个数据库可以被多个实例同时访问,这就好比一个大型仓库有多个入口,多个搬运工可以同时工作,大大进步了数据的处置惩罚服从。当我们启动 Oracle 时,首先会创建实例,实例会读取参数文件,在内存中分配空间,启动后台进程,然后去装载和打开数据库,如许我们就可以对数据库中的数据进行操作了。


(二)表空间与数据文件

表空间是 Oracle 数据库中的一个重要逻辑概念,它就像是一个大书架,我们可以把不同范例的数据分类存放在不同的书架区域。每个表空间可以包含一个或多个数据文件,数据文件则是实实在在存储数据的物理文件,相当于书架上的一个个格子,真正存放着数据的 “册本”。

(三)用户与权限

在 Oracle 数据库中,用户是访问数据库的入口,就像不同的人进入图书馆,每个人都有自己的身份和权限。我们可以利用CREATE USER语句来创建用户,比如CREATE USER testuser IDENTIFIED BY testpassword; ,如许就创建了一个名为testuser,暗码为testpassword的用户。
但仅仅创建用户还不敷,我们还需要为用户分配相应的权限,用户才能进行各种操作。权限就像是图书馆的借阅卡权限,不同的权限答应用户进行不同的操作。Oracle 中有一些预定义的角色,如connect、resource、dba ,每个角色都拥有不同的权限集合。connect角色主要用于建立数据库毗连,拥有创建会话的基本权限;resource角色则偏重于赋予用户创建数据库对象的权限,如创建表、序列、过程等;而dba角色则拥有最高权限,几乎可以进行所有的数据库管理操作,包罗创建用户、分配权限、管理表空间等。我们可以利用GRANT语句为用户授予角色或权限,比方GRANT connect, resource TO testuser;如许testuser用户就拥有了connect和resource角色的权限。


(四)基本数据范例

Oracle 支持多种数据范例,以满意不同的数据存储需求。常见的数据范例有VARCHAR2、NUMBER、DATE等。
VARCHAR2用于存储可变长度的字符串,就像一个可以伸缩的袋子,根据实际存储的字符串长度来占用空间,最大长度可达 4000 字节,非常得当存储姓名、地址等长度不固定的文本信息。。
NUMBER范例则用于存储数值,可以是整数也可以是小数,并且可以指定精度和刻度。比如NUMBER(5, 2) 表示可以存储总位数为 5 位,小数位数为 2 位的数值,范围从 -999.99 到 999.99 ,常用于存储金额、数量等数值数据。
DATE范例用于存储日期和时间,它按照固定的格式存储,精确到秒,如2024-10-01 12:30:00 ,方便我们进行日期相关的计算和处置惩罚,比如记录订单的创建时间、用户的注册时间等。相识这些基本数据范例的特点和利用场景,是进行数据库表设计和数据存储的基础。

Oracle 基本操作实战

(一)创建表空间

创建表空间是在 Oracle 数据库中规划数据存储的重要一步。下面是创建表空间的 SQL 语句示例:
  1. CREATE TABLESPACE example_tablespace
  2. DATAFILE 'D:\oracle\data\example_tablespace.dbf'
  3. SIZE 200M
  4. AUTOEXTEND ON
  5. NEXT 20M
  6. MAXSIZE UNLIMITED;
复制代码
在这个语句中:






(二)创建用户

创建用户是为了让不同的利用者可以大概以各自的身份访问数据库,并对其进行相应的操作。在 Oracle 中,创建用户并指定表空间和暗码的 SQL 语句如下:
  1. CREATE USER test_user
  2. IDENTIFIED BY test_password
  3. DEFAULT TABLESPACE example_tablespace;
复制代码
这里:



(三)用户授权与权限管理

在 Oracle 中,授权和收回权限是管理用户对数据库操作能力的关键操作。授权可以让用户拥有执行特定操作的权限,而收回权限则可以限制用户的操作范围。
授权利用 GRANT 语句,比方,要授予 test_user 用户对 example_table 表的查询、插入和更新权限,可以利用以下语句:
  1. GRANT SELECT, INSERT, UPDATE ON example_table TO test_user;
复制代码
假如要授予用户某个角色,如 connect 和 resource 角色,可以如许写:
  1. GRANT connect, resource TO test_user;
复制代码
connect 角色赋予用户毗连数据库的基本权限,resource 角色则答应用户创建数据库对象,如表、序列等。
当需要收回用户的权限时,利用 REVOKE 语句。比方,要收回 test_user 用户对 example_table 表的删除权限,可以执行:
  1. REVOKE DELETE ON example_table FROM test_user;
复制代码
假如要收回用户的某个角色,可以利用:
  1. REVOKE connect FROM test_user;
复制代码
通过公道地利用授权和收回权限操作,可以确保数据库的安全性和数据的完整性,让不同用户只能进行其被答应的操作。
(四)表的创建与管理

创建表是构建数据库结构的基础操作。在 Oracle 中,创建表的基本语法如下:
  1. CREATE TABLE example_table (
  2. id NUMBER(10) PRIMARY KEY,
  3. name VARCHAR2(50) NOT NULL,
  4. age NUMBER(3),
  5. address VARCHAR2(200)
  6. );
复制代码
在这个例子中:





在创建表时,还可以设置其他约束,如唯一约束(UNIQUE)、检查约束(CHECK)、外键约束(FOREIGN KEY)等。比方,为 age 列添加检查约束,确保年事在公道范围内:
  1. CREATE TABLE example_table (
  2. id NUMBER(10) PRIMARY KEY,
  3. name VARCHAR2(50) NOT NULL,
  4. age NUMBER(3) CHECK (age BETWEEN 0 AND 120),
  5. address VARCHAR2(200)
  6. );
复制代码
当需要修改表的结构时,可以利用 ALTER TABLE 语句。比如,添加一列 phone_number :
  1. ALTER TABLE example_table ADD phone_number VARCHAR2(20);
复制代码
修改列的数据范例,将 age 列的数据范例改为 NUMBER(4) :
  1. ALTER TABLE example_table MODIFY age NUMBER(4);
复制代码
假如要删除表,可以利用 DROP TABLE 语句:
  1. DROP TABLE example_table;
复制代码
在执行删除操作时要谨慎,由于删除表会永世删除表及其所有数据。
(五)数据操作

在表创建好之后,就可以对表中的数据进行操作了。常用的数据操作包罗插入、更新、删除和查询。
插入数据利用 INSERT INTO 语句,比方向 example_table 表中插入一条记录:
  1. INSERT INTO example_table (id, name, age, address)
  2. VALUES (1, '张三', 25, '北京市朝阳区');
复制代码
假如要插入多条记录,可以利用多条 INSERT INTO 语句,大概利用子查询来批量插入。
更新数据利用 UPDATE 语句,比方将 id 为 1 的记录的年事更新为 26:
  1. UPDATE example_table
  2. SET age = 26
  3. WHERE id = 1;
复制代码
删除数据利用 DELETE FROM 语句,比方删除 id 为 1 的记录:
  1. DELETE FROM example_table
  2. WHERE id = 1;
复制代码
查询数据是最常用的数据操作之一,利用 SELECT 语句。比方,查询 example_table 表中的所有记录:
  1. SELECT * FROM example_table;
复制代码
假如只查询特定的列,如查询 name 和 age 列:
  1. SELECT name, age FROM example_table;
复制代码
还可以利用条件查询,如查询年事大于 20 的记录:
  1. SELECT * FROM example_table
  2. WHERE age > 20;
复制代码
通过这些基本的数据操作语句,我们可以灵活地对数据库中的数据进行增、删、改、查操作,满意各种业务需求。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4