接触Oracle数据库也有一年多了,之前对于Oracle数据库也就停留在简单的增、删、改、查,数据库创建,会写一些SQL,能够使用JDBC开发项目。对于Oracle数据库的很多认识都是欠缺的,停留在很肤浅的层面,这段时间重新深入的学习了一些知识,包括Linux常用命令、操作系统、Oracle官方手册,知道自己欠缺的知识太多了,非一朝一夕可以填补这个空白的,对于一个半道出家的来说缺少系统的学习,在很多方面学起来还是挺吃力的。这篇是我学习做的笔记,一些比较常用到的概念知识,总体来说笔记还是挺混乱的,也就是以防自己遗忘。
SQL语言分为四大类
数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)
数据查询语言DQL: select
数据操纵语言DML: insert、update、delete
数据定义语言DDL: 数据定义语言用来创建数据库中的各种对象,表,视图,索引,同义词,聚簇等。(DDL操作是隐形提交的。不能rollback)
数据控制语言DCL: 数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。
数据控制语言包括:
- grant(授权)
- rollback(回滚)
- rollback [work] to [savepoint]:回退到指定时间点。
- commit(提交)
在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。
(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT;
(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON;
数据库和实例
数据库(database):物理操作系统文件或磁盘(disk)的集合。使用Oracle的自动存储管理(Automatic Storage Management,ASM)或RAW分区时,数据库可能不作为操作系统中单独的文件,淡定一任然不变。
实例(instance):