Oracle参考教案
### Oracle参考教案知识点详解 #### 一、基本概念 ##### DDL(数据定义语言) - **功能**: 用于创建、修改或删除数据库对象。 - **命令**: - `CREATE`: 创建新的数据库对象,如表、索引等。 - `ALTER`: 修改现有的数据库对象属性。 - `DROP`: 删除数据库对象。 - `TRUNCATE`: 清空表中的所有数据,但保留表结构。 ##### DML(数据操纵语言) - **功能**: 用于管理数据库中的数据。 - **命令**: - `SELECT`: 查询数据。 - `INSERT`: 插入新数据。 - `DELETE`: 删除现有数据。 - `UPDATE`: 更新现有数据。 ##### TCL(事务控制语言) - **功能**: 控制数据库中的事务。 - **命令**: - `COMMIT`: 提交当前事务的所有更改。 - `ROLLBACK`: 回滚当前事务,撤销未提交的更改。 - `SAVEPOINT`: 设置一个事务内的保存点,允许事务回退到特定点。 ##### DCL(数据控制语言) - **功能**: 管理用户对数据库对象的访问权限。 - **命令**: - `GRANT`: 授予用户对特定数据库对象的访问权限。 - `REVOKE`: 撤销之前授予用户的权限。 #### 二、数据库设计 - **关系数据模型**: - **组成**: 包括一个或多个表,以及表之间的关系。 - **要素**: 表、索引、视图和触发器等。 - **数据库Schema**: - **概念上**: 是一组DDL语句,用于描述数据库的结构。 - **物理上**: 是一个命名空间,包含了表、过程和视图等数据库对象的集合。 #### 三、常用命令 - **连接**: `CONNECT 用户名/密码` 连接到指定的数据库用户。 - **查看表结构**: `DESC 表名` 查看表的结构信息。 - **退出**: `QUIT` 或 `EXIT` 退出SQL*Plus环境。 - **屏幕清除**: `CLEAR SCREEN` 清除当前屏幕的内容。 - **行显示设置**: `SET LINESIZE 200` 设置每行显示的最大字符数。 - **页面显示设置**: `SET PAGESIZE 20` 设置每页显示的最大行数。 - **输出设置**: `DBMS_OUTPUT.PUT_LINE()` 用于输出信息,需配合 `SET SERVEROUTPUT ON` 打开服务器输出功能。 - **编辑**: `EDIT` 编辑缓存中的SQL语句。 - **执行**: `/` 执行当前缓存中的SQL语句或块。 - **文件执行**: `@sqlpath` 执行外部SQL文件。 - **文件重复执行**: `@@sqlfile` 在当前目录下重复执行SQL文件。 - **日志输出**: `SPOOL file` 将输出重定向到指定文件。 - **日志关闭**: `SPOOL OFF` 关闭日志输出功能。 - **特殊命令**: `#` 用于在输入SQL语句过程中执行一个SQL*Plus命令。 - **杀死会话**: `ALTER SYSTEM KILLS SESSION 'sid,serial#'` 强制终止指定的用户会话。 #### 四、常用表 - **约束**: `USER_CONSTRAINTS` 存储用户定义的约束信息。 - **表信息**: `USER_TABLES` 显示用户拥有的表信息。 - **所有表**: `ALL_ALL_TABLES` 显示用户可以看到的所有表信息。 - **约束列**: `USER_CONS_COLUMNS` 显示约束涉及的列信息。 - **列信息**: `USER_TAB_COLS` 显示用户表的所有列信息。 - **会话信息**: `NLS_SESSION_PARAMETERS`, `V$NLS_PARAMETERS`, `V$SESSION` 分别提供当前会话的信息、系统级NLS参数和用户会话信息。 #### 五、数据类型 - **字符型**: - `CHAR`: 定长字符串,最大长度2000字节。 - `VARCHAR2`: 变长字符串,最大长度4000字节。 - **数字类型**: `NUMBER`,支持10^-38至10^38的范围,既支持整数也支持小数。 - **日期类型**: `DATE`,包含年月日和时分秒信息,占用7个字节。 - **大对象类型**: - `CLOB`: 字符型大对象,超过4000字节,最大容量4GB。 - `BLOB`: 二进制大对象,用于存储图像、声音等二进制数据,最大容量4GB。 - **伪类型**: - `%TYPE`: 可以引用某一列的数据类型。 - `%ROWTYPE`: 可以引用某一表的行结构。 #### 六、表操作基础 - **创建表**: - `CREATE TABLE 表名 (列名 数据类型, 列名 数据类型, ... )` - **修改表**: - 插入列: `ALTER TABLE 表名 ADD (列名 数据类型)` - 修改列: `ALTER TABLE 表名 MODIFY (列名 数据类型)` - 删除列: `ALTER TABLE 表名 DROP COLUMN 列名` - **表重命名**: `RENAME 表名 TO 新表名` - **删除表**: `DROP TABLE 表名` - **删除记录**: `DELETE FROM 表名 WHERE 条件`(删除记录但保留表结构) #### 七、序列(Sequence) - **创建序列**: - `CREATE SEQUENCE 序列名;` - **获取序列值**: - `NEXTVAL`: 获取序列的下一个值。 - `CURRVAL`: 获取序列的当前值。 - **复杂序列**: - `INCREMENT BY 5`: 每次增加5。 - `START WITH 0`: 从0开始计数。 - `MAXVALUE 100`: 最大值设为100。 - `MINVALUE -100`: 最小值设为-100。 - `CYCLE`: 达到最大值后循环计数。 - `CACHE 30`: 预先缓存30个值。 #### 八、约束 - **主键约束**: - 用于唯一标识一条数据,其值不允许重复且不能为空。 - 示例: `CREATE TABLE test (nationality VARCHAR2(20), city VARCHAR(20), CONSTRAINT nick_pk` 通过以上总结,我们可以清晰地了解到Oracle数据库的基础操作、命令和设计原则等内容。这些知识点对于初学者来说非常重要,也是进行高级应用开发和技术研究的基础。
- 粉丝: 12
- 资源: 213
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot和WebSocket的毕业设计选题系统.zip
- (源码)基于C++的机器人与船舶管理系统.zip
- (源码)基于WPF和Entity Framework Core的智能货架管理系统.zip
- SAP Note 532932 FAQ Valuation logic with active material ledger
- (源码)基于Spring Boot和Redis的秒杀系统.zip
- (源码)基于C#的计算器系统.zip
- (源码)基于ESP32和ThingSpeak的牛舍环境监测系统.zip
- 西南科技大学数据库实验三
- Web开发全栈入门与进阶指南:从前端到后端
- TSP问题的概述及其在多领域的应用