数据库 - Oracle从入门到入土

Oracle数据库是一种复杂的对象关系型数据库管理系统,广泛应用于大型企业和政府机构中。以下是一些基本的Oracle数据库操作和SQL语句示例。

  1. 创建用户:



CREATE USER username IDENTIFIED BY password;
  1. 给用户授权:



GRANT CONNECT, RESOURCE TO username;
  1. 创建表:



CREATE TABLE employees (
    employee_id NUMBER(6),
    first_name VARCHAR2(20),
    last_name VARCHAR2(25) NOT NULL,
    email VARCHAR2(25) NOT NULL,
    phone_number VARCHAR2(15),
    hire_date DATE NOT NULL,
    job_id VARCHAR2(10),
    salary NUMBER(8, 2),
    commission_pct NUMBER(2, 2),
    manager_id NUMBER(6),
    department_id NUMBER(4)
);
  1. 插入数据:



INSERT INTO employees (employee_id, first_name, last_name, email, phone_number, hire_date, job_id, salary, commission_pct, manager_id, department_id)
VALUES (100, 'John', 'Doe', 'john.doe@example.com', '123-4567-8901', TO_DATE('2000-01-01', 'YYYY-MM-DD'), 'IT_PROG', 60000, NULL, NULL, 50);
  1. 查询数据:



SELECT * FROM employees WHERE department_id = 50;
  1. 更新数据:



UPDATE employees SET salary = salary * 1.1 WHERE employee_id = 100;
  1. 删除数据:



DELETE FROM employees WHERE employee_id = 100;
  1. 删除表:



DROP TABLE employees;
  1. 创建索引:



CREATE INDEX emp_last_name_idx ON employees(last_name);
  1. 创建视图:



CREATE VIEW employees_view AS SELECT employee_id, first_name, last_name FROM employees;
  1. 创建存储过程:



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;
    COMMIT;
END;
/
  1. 调用存储过程:



EXEC raise_salary(100, 5000);
  1. 创建触发器:



CREATE OR REPLACE TRIGGER before_emp_insert
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
    SELECT sequence_name.NEXTVAL INTO :NEW.employee_id FROM dual;
END;
/

这些操作和SQL语句是Oracle数据库操作的基础。Oracle数据库的复杂性要求对SQL和数据库管理有深入的理解。在实际应用中,还会涉及到更多的高级特性,如分区、数据仓库、序列、事务、数据库链接、PL/SQL编程等。

none
最后修改于:2024年09月02日 11:10

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日