根据提供的文件信息,我们可以归纳出以下几个关键的知识点:
### 一、数据库基本概念
#### 1. 数据集成与共享
- **数据集成**是指将来自不同来源的数据进行整合,以便在一个统一的视图中查看和分析这些数据。
- **数据共享**则是指允许不同的应用程序或用户访问同一数据集。
#### 2. 数据库系统的组成
- **物理数据库**:存储在物理设备上的实际数据文件。
- **数据库管理系统(DBMS)**:位于用户和物理数据库之间的软件层,用于管理和控制用户对数据库的访问。所有的数据库操作请求都需要通过DBMS来处理。
- **用户**:通过DBMS与物理数据库交互的人或应用程序。
#### 3. 数据管理的三个阶段
- **人工管理阶段**(1950年代中期以前):数据存储在纸张或其他物理介质上,没有专门的软件来管理数据。
- **文件系统阶段**(1950年代后期至1960年代中期):引入了文件系统来管理数据,但文件之间的关联性较弱。
- **数据库系统阶段**:现代数据库系统能够提供更高级别的数据管理功能,包括数据集成、共享和安全等功能。
### 二、SQL基本命令分类
#### 1. 数据定义语言(DDL)
- **DROP**:删除表、视图或索引。
- **CREATE**:创建表、视图、索引等数据库对象。
- **ALTER**:修改现有数据库对象的结构。
- **GRANT**:授予用户权限。
- **REVOKE**:撤销用户的权限。
#### 2. 数据操纵语言(DML)
- **SELECT**:查询数据。
- **INSERT**:向表中插入新记录。
- **UPDATE**:更新表中的现有记录。
- **DELETE**:删除表中的记录。
- **SET TRANSACTION**:设置事务处理选项。
- **EXPLAIN PLAN**:分析SQL语句的执行计划。
#### 3. 事物控制
- **COMMIT**:提交事务。
- **ROLLBACK**:回滚事务。
- **SAVEPOINT**:设置保存点,可在事务中指定位置回退。
#### 4. 会话控制
- **ALTER SESSION**:改变当前会话的属性。
- **SET ROLE**:切换当前会话的角色。
#### 5. 系统控制
- **ALTER SYSTEM**:更改整个数据库系统的配置参数。
#### 6. 嵌入式SQL
- **CONNECT**:连接数据库。
- **DECLARE CURSOR**:声明游标。
- **ALLOCATE**:分配资源。
### 三、查询基础
#### 1. 入门语句
- **普通用户连接**:`conn scott/tiger`
- **超级管理员连接**:`conn "sys/sysasysdba"`
- **断开连接**:`disconnect;`
- **保存SQL到文件**:`save c:\1.txt`
- **编辑SQL语句**:`ed c:\1.txt`
- **运行SQL语句**:`@c:\1.txt`
- **描述表结构**:`desc emp;`
- **查看当前用户下的所有对象**:`select * from tab;`
- **显示当前用户**:`show user;`
### 四、单行函数
#### 1. 字符函数
- **UPPER**:转换成大写。
- **LOWER**:转换成小写。
- **INITCAP**:首个单词字母大写,其他小写。
- **CONCAT**:连接字符串。
- **SUBSTR**:从指定位置开始截取子串。
- **LENGTH**:返回字符串长度。
- **REPLACE**:替换字符串。
- **TRIM**:去除字符串两端的空白字符。
#### 2. 数值函数
- **ROUND**:四舍五入。
- **TRUNC**:截断数字。
#### 3. 日期函数
- **MONTHS_BETWEEN**:计算两个日期之间的月份数。
- **ADD_MONTHS**:增加或减少月份。
- **NEXT_DAY**:返回下一个指定工作日的日期。
- **LAST_DAY**:返回指定日期所在月份的最后一天。
#### 4. 转换函数
- **TO_CHAR**:将日期或数值转换为字符串。
- **TO_NUMBER**:将字符串转换为数值。
- **TO_DATE**:将字符串转换为日期格式。
#### 5. 通用函数
- **NVL**:当表达式为空时返回指定的替代值。
- **NULLIF**:如果两个表达式的值相等,则返回NULL。
以上内容涵盖了Oracle数据库的基本概念、SQL命令分类以及常用的单行函数,为初学者提供了关于Oracle数据库的基础知识和操作指南。