### Oracle基础知识概述
根据提供的标题“Oracle基础知识”和描述中的重复信息可以推断,这份文档主要涉及Oracle数据库的基础知识介绍。Oracle是一种广泛使用的多模型数据库管理系统,由Oracle公司开发和维护。它支持多种数据类型,并提供了强大的数据管理功能。下面我们将从几个关键点来详细介绍这些内容。
### 1. SQL 命令
#### SELECT 语句
在Oracle数据库中,`SELECT`语句是最常用的SQL命令之一,用于从一个或多个表中检索数据。例如:
```
SELECT column_name AS 'alias' FROM table_name;
```
这里的`AS`关键字用于给列名添加别名,提高查询结果的可读性。
#### 处理NULL值
NULL是Oracle数据库中表示未知或缺失的数据的一种特殊值。在查询时,经常需要处理NULL值,`NVL`函数就是一种常见的方法:
```
NVL(column_name, default_value);
```
例如:
```
NVL(salary, 1000); // 如果salary为NULL,则用1000代替
```
### 2. 使用SQL*Plus
#### 基本命令
SQL*Plus是Oracle提供的一款命令行工具,常用于执行SQL语句、查看数据等操作。
- `desc table_name`: 显示指定表的结构信息。
- `select * from table_name;`: 查询表中的所有记录。
- `set pause on`: 在查询结果输出后暂停,需要按回车键继续显示下一页。
- `set pagesize n`: 设置每页显示的行数,默认值通常为14。
- `set linesize n`: 设置每行字符的最大长度,默认值通常为80。
#### 格式化输出
SQL*Plus还提供了一系列命令用于格式化输出结果,使得查询结果更加美观易读:
- `column column_name format 99999999999`: 设置数值型列的格式。
- `column column_name format 999,999,999,999`: 添加千位分隔符。
- `column column_name format a[word_wrapped]`: 设置文本型列的格式,`word_wrapped`表示自动换行。
- `set long n`: 设置输出长字符串的最大长度。
- `set heading off`: 关闭列标题的显示。
- `column column_name justify [left|right|center]`: 设置列内容的对齐方式。
- `column column_name clear`: 清除列的所有格式设置。
#### 示例
- `column last_name heading 'Employee|Name' format a15`: 将`last_name`列的标题设置为`Employee|Name`,并将其格式化为最大宽度15个字符的文本型列。
- `column salary justify right format $99,999.99`: 将`salary`列右对齐,并设置为带有美元符号和千位分隔符的货币格式。
- `column start_date format a10 null 'Not Hired'`: 如果`start_date`为空,则显示`Not Hired`。
### 3. WHERE 子句
#### 条件运算符
WHERE子句用于在SELECT语句中指定过滤条件,常用的条件运算符包括:
- `=`:等于
- `!=` 或 `<>`:不等于
- `<`, `>`, `<=`, `>=`:小于、大于、小于等于、大于等于
- `IN`:匹配列表中的任意值
- `BETWEEN AND`:范围内的值
- `LIKE`:模式匹配
- `IS NULL` / `IS NOT NULL`:判断是否为NULL
- `AND`, `OR`, `NOT`:逻辑运算符
#### 示例
- `WHERE column_name = 'value'`: 检查列值是否等于指定值。
- `WHERE column_name BETWEEN '2001-12-12' AND '2002-02-01'`: 检查列值是否在指定日期范围内。
- `WHERE column_name LIKE '%pattern%'`: 模糊匹配,`%`表示任意长度的字符串,`_`表示单个字符。
### 4. 函数与表达式
#### 数学函数
Oracle提供了丰富的数学函数,如:
- `ABS(value)`: 返回绝对值。
- `POWER(base, exponent)`: 计算指数。
- `SQRT(value)`: 开方。
- `ROUND(value, decimals)`: 四舍五入到指定小数位数。
- `TRUNC(value, decimals)`: 截断到指定小数位数。
#### 字符串函数
字符串函数用于处理文本数据,常见的有:
- `CONCAT(c1, c2)`: 连接两个字符串。
- `REPLACE(str, search, replacement)`: 替换字符串中的某个子串。
- `SUBSTR(str, position, length)`: 提取字符串的一部分。
- `UPPER(str)`: 转换为大写。
- `LOWER(str)`: 转换为小写。
- `TRIM([LEADING | TRAILING | BOTH] trim_chars FROM str)`: 去除字符串前后的指定字符。
#### 日期函数
日期函数用于处理日期时间数据,例如:
- `ADD_MONTHS(date, months)`: 增加或减少月份。
- `LAST_DAY(date)`: 返回指定月份的最后一天。
- `MONTHS_BETWEEN(date1, date2)`: 计算两个日期之间的月份数。
- `NEXT_DAY(date, day_of_week)`: 计算下一个工作日或特定星期几的日期。
- `SYSDATE`: 返回当前系统日期和时间。
通过以上内容,我们可以了解到Oracle数据库的一些基本概念和操作,这对于日常管理和使用Oracle数据库都是非常有用的。