Oracle培训笔记
需积分: 0 112 浏览量
更新于2012-02-17
1
收藏 134KB PDF 举报
### Oracle培训笔记知识点详解
#### 一、关系数据库理论
关系数据库是基于关系模型构建的数据库,它由一系列的对象组成,这些对象主要包括表、视图等。为了保证数据的完整性和一致性,在插入、更新或删除数据时需要遵循一定的规则。
1. **数据库对象**:数据库由一系列对象组成,如表、视图、索引、存储过程等。
2. **数据操作**:通过SQL(Structured Query Language)等工具来实现对这些对象的操作。
3. **数据完整性**:为了保证数据的完整性,插入到数据库中的数据必须遵循一定的规则(数据约束),如主键约束、唯一性约束、非空约束等。
#### 二、SQL命令
SQL是一种用于管理关系数据库的标准语言,用于查询、更新、管理和控制数据库中的数据。SQL可以分为以下几类:
1. **数据检索语言 (Data Retrieval)**:
- `SELECT`:用于从数据库中检索数据。
- 示例:`SELECT id "ID" FROM test;`
- 使用双引号指定列别名。
2. **数据操纵语言 (Data Manipulation Language, DML)**:
- `INSERT`:向表中插入新行。
- `UPDATE`:更新现有行中的数据。
- `DELETE`:删除行。
- 示例:使用`||`连接字符串。
- `SELECT 'stuId:' || id FROM test;`
3. **数据定义语言 (Data Definition Language, DDL)**:
- `CREATE`:创建新的数据库对象。
- `ALTER`:修改现有对象。
- `DROP`:删除对象。
- `RENAME`:重命名对象。
- `TRUNCATE`:清空表中的所有数据。
- 示例:`CREATE TABLE example (id NUMBER);`
4. **事务控制**:
- `COMMIT`:提交事务,使更改成为永久性的。
- `ROLLBACK`:撤销事务,放弃所做的更改。
- `SAVEPOINT`:设置事务的保存点,可以回滚到该点。
5. **数据控制**:
- `GRANT`:授予用户对数据库对象的权限。
- `REVOKE`:收回用户的权限。
#### 三、SELECT命令
1. **使用双引号定义别名**:
- `SELECT id "ID" FROM test;`
2. **字符串连接**:
- `SELECT 'stuId:' || id FROM test;`
3. **NVL函数**:用于处理NULL值。
- `SELECT salary * NVL(salary, 0) FROM emp;`
- 如果`salary`为空,则将其视为0。
#### 四、Oracle基本数据类型
1. **数字类型**:
- `NUMBER(n, m)`:表示一个数值,其中`n`是总的位数,`m`是小数位数。
- `NUMBER`:表示一个非常大的数。
- `NUMBER(3, 2)`:表示总长度为3位,其中包含2位小数。
- 示例:`NUMBER(5, 2)`,输入`2010.3256`将四舍五入为`2010.33`。
2. **字符串类型**:
- `CHAR(n)`:固定长度的字符串,默认长度为1个字节。
- `VARCHAR2(n)`:变长字符串,`n`为最大长度。
3. **日期类型**:
- `DATE`:用于存储日期时间值,包括世纪、年、月、日、时、分、秒。
#### 五、Oracle客户端软件(SQL\*Plus)命令
1. **文件操作**:
- `SAVE 文件名`:保存当前SQL语句到服务器指定的文件。
- `GET 文件名`:从指定文件中读取SQL语句到内存缓冲区。
- `START @文件名`:读取并执行指定文件中的SQL语句。
2. **屏幕输出**:
- `SPOOL`:开始记录屏幕输出。
- `SPOOL OFF`:结束记录屏幕输出。
3. **其他命令**:
- `APPEND`:向缓冲区追加内容。
- `CHANGE`:修改缓冲区中的某行内容。
- `CLEAR BUFFER`:清除缓冲区内容。
- `DEL N`:删除缓冲区中的第N行。
- `INPUT 内容`:在缓冲区的最后一行后面追加内容。
- `LIST N`:查看缓冲区中的内容(N为行号)。
- `/`:执行缓冲区中的命令。
#### 六、ORDER BY
`ORDER BY`用于对查询结果进行排序。
1. **排序类型**:
- 列名
- 列号
- 别名
- 表达式
2. **多列排序**:
- 当有多列排序时,先按照第一列排序,若第一列相同,则按第二列排序。
- 示例:`SELECT * FROM t_salary ORDER BY salary, name;`
- 首先根据`salary`排序,如果`salary`相同,则按照`name`排序。
#### 七、WHERE子句
`WHERE`子句用于过滤查询结果。
1. **比较操作符**:
- `IN`:匹配列表中的值。
- `BETWEEN...AND...`:匹配某个范围内的值。
- `LIKE`:模糊匹配。
- `%`:表示任意多个字符。
- `_`:表示单个字符。
通过以上内容的学习,您可以掌握Oracle数据库的基础知识和常用的SQL命令,这对于日常的数据库管理和开发工作都是非常有用的。
sunfengyong2013
- 粉丝: 0
- 资源: 1