【自学笔记】Oracle基础知识点总览-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- Oracle 数据库基础知识点总览
- 1. 数据库安装与配置
- 2. SQL基础
- 3. PL/SQL基础
- 4. 数据库管理
- 5. 高级主题
- 总结
Oracle 数据库基础知识点总览
1. 数据库安装与配置
- 安装Oracle数据库:下载Oracle安装包,按照向导进行安装。
- 配置监听器:使用
netca
工具配置监听器,确保客户端可以连接到数据库。 - 创建数据库:使用
dbca
工具创建新的数据库实例。
2. SQL基础
-
DDL(数据定义语言):用于定义数据库结构。
CREATE TABLE employees ( employee_id NUMBER PRIMARY KEY, first_name VARCHAR2(50), last_name VARCHAR2(50), email VARCHAR2(100), hire_date DATE );
-
DML(数据操作语言):用于插入、更新和删除数据。
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(数据控制语言):用于控制访问权限。
GRANT SELECT ON employees TO some_user; REVOKE SELECT ON employees FROM some_user;
-
DQL(数据查询语言):用于查询数据。
SELECT first_name, last_name FROM employees WHERE hire_date > TO_DATE('2022-01-01', 'YYYY-MM-DD');
3. PL/SQL基础
-
PL/SQL块:
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;
-
存储过程:
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;
-
触发器:
CREATE OR REPLACE TRIGGER before_insert_employee BEFORE INSERT ON employees FOR EACH ROW BEGIN :NEW.hire_date := SYSDATE; END;
4. 数据库管理
-
备份与恢复:使用RMAN(Recovery Manager)进行备份和恢复。
rman target / RMAN> BACKUP DATABASE; RMAN> RESTORE DATABASE;
-
用户与权限管理:
CREATE USER new_user IDENTIFIED BY password; GRANT CONNECT, RESOURCE TO new_user;
-
性能调优:使用
EXPLAIN PLAN
分析查询性能。EXPLAIN PLAN FOR SELECT * FROM employees WHERE department_id = 10; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
5. 高级主题
-
分区表:将数据水平分区以提高查询性能。
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')) );
-
索引:创建索引以加速查询。
CREATE INDEX idx_last_name ON employees (last_name);
希望这个总览能帮助你系统地学习和分享Oracle数据库的基础知识。如果你有任何问题或需要进一步的解释,请随时提问!
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录Oracle基础知识点总览。