【自学笔记】Oracle基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • [Oracle 数据库基础知识点总览](#Oracle 数据库基础知识点总览)
    • [1. 数据库安装与配置](#1. 数据库安装与配置)
    • [2. SQL基础](#2. SQL基础)
    • [3. PL/SQL基础](#3. PL/SQL基础)
    • [4. 数据库管理](#4. 数据库管理)
    • [5. 高级主题](#5. 高级主题)
  • 总结

Oracle 数据库基础知识点总览

1. 数据库安装与配置

  • 安装Oracle数据库:下载Oracle安装包,按照向导进行安装。
  • 配置监听器 :使用netca工具配置监听器,确保客户端可以连接到数据库。
  • 创建数据库 :使用dbca工具创建新的数据库实例。

2. SQL基础

  • DDL(数据定义语言):用于定义数据库结构。

    sql 复制代码
    CREATE TABLE employees (
        employee_id NUMBER PRIMARY KEY,
        first_name VARCHAR2(50),
        last_name VARCHAR2(50),
        email VARCHAR2(100),
        hire_date DATE
    );
  • DML(数据操作语言):用于插入、更新和删除数据。

    sql 复制代码
    INSERT INTO employees (employee_id, first_name, last_name, email, hire_date)
    VALUES (1, 'John', 'Doe', 'john.doe@example.com', TO_DATE('2023-01-01', 'YYYY-MM-DD'));
    
    UPDATE employees
    SET email = 'john.newemail@example.com'
    WHERE employee_id = 1;
    
    DELETE FROM employees
    WHERE employee_id = 1;
  • DCL(数据控制语言):用于控制访问权限。

    sql 复制代码
    GRANT SELECT ON employees TO some_user;
    REVOKE SELECT ON employees FROM some_user;
  • DQL(数据查询语言):用于查询数据。

    sql 复制代码
    SELECT first_name, last_name
    FROM employees
    WHERE hire_date > TO_DATE('2022-01-01', 'YYYY-MM-DD');

3. PL/SQL基础

  • PL/SQL块

    plsql 复制代码
    DECLARE
        v_salary NUMBER;
    BEGIN
        SELECT salary INTO v_salary
        FROM employees
        WHERE employee_id = 1;
        
        DBMS_OUTPUT.PUT_LINE('Salary: ' || v_salary);
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
            DBMS_OUTPUT.PUT_LINE('No data found for employee_id 1.');
    END;
  • 存储过程

    plsql 复制代码
    CREATE OR REPLACE PROCEDURE raise_salary (
        p_employee_id IN NUMBER,
        p_raise_amount IN NUMBER
    ) IS
    BEGIN
        UPDATE employees
        SET salary = salary + p_raise_amount
        WHERE employee_id = p_employee_id;
    END;
  • 触发器

    plsql 复制代码
    CREATE OR REPLACE TRIGGER before_insert_employee
    BEFORE INSERT ON employees
    FOR EACH ROW
    BEGIN
        :NEW.hire_date := SYSDATE;
    END;

4. 数据库管理

  • 备份与恢复:使用RMAN(Recovery Manager)进行备份和恢复。

    bash 复制代码
    rman target /
    RMAN> BACKUP DATABASE;
    RMAN> RESTORE DATABASE;
  • 用户与权限管理

    sql 复制代码
    CREATE USER new_user IDENTIFIED BY password;
    GRANT CONNECT, RESOURCE TO new_user;
  • 性能调优 :使用EXPLAIN PLAN分析查询性能。

    sql 复制代码
    EXPLAIN PLAN FOR
    SELECT * FROM employees WHERE department_id = 10;
    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

5. 高级主题

  • 分区表:将数据水平分区以提高查询性能。

    sql 复制代码
    CREATE TABLE sales (
        sale_id NUMBER,
        sale_date DATE,
        amount NUMBER
    ) PARTITION BY RANGE (sale_date) (
        PARTITION p1 VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD')),
        PARTITION p2 VALUES LESS THAN (TO_DATE('2024-01-01', 'YYYY-MM-DD'))
    );
  • 索引:创建索引以加速查询。

    sql 复制代码
    CREATE INDEX idx_last_name ON employees (last_name);

希望这个总览能帮助你系统地学习和分享Oracle数据库的基础知识。如果你有任何问题或需要进一步的解释,请随时提问!


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,自学记录Oracle基础知识点总览。

相关推荐
cellurw1 分钟前
Day39 SQLite数据库操作与HTML核心API及页面构建
数据库·sqlite·html
小蒜学长11 分钟前
旅行社旅游管理系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·旅游
Mr_hwt_12316 分钟前
基于mybatis-plus动态数据源实现mysql集群读写分离和从库负载均衡教程(详细案例)
数据库·spring boot·mysql·mybatis·mysql集群
万邦科技Lafite27 分钟前
实战演练:通过API获取商品详情并展示
大数据·数据库·python·开放api接口
黄焖鸡能干四碗1 小时前
智慧教育,智慧校园,智慧安防学校建设解决方案(PPT+WORD)
java·大数据·开发语言·数据库·人工智能
敲上瘾1 小时前
Docker 存储卷(Volume)核心概念、类型与操作指南
linux·服务器·数据库·docker·容器·架构
DemonAvenger1 小时前
MySQL内存优化:缓冲池与查询缓存调优实战指南
数据库·mysql·性能优化
RationalDysaniaer1 小时前
了解etcd
数据库·etcd
正在走向自律1 小时前
国产时序数据库选型指南-从大数据视角看透的价值
大数据·数据库·清华大学·时序数据库·iotdb·国产数据库
Pocker_Spades_A1 小时前
Python快速入门专业版(十五):数据类型实战:用户信息录入程序(整合变量、输入与类型转换)
数据库·python