一、主流数据库分类
1、瑞典的MySQL(中型)。
2、美国
a、微软的SQLServer(中型)Access(小型)。
b、IBM的DB2(大型)、informix。
c、ORACLE(大型)
-----------------------------------------------------------------------------------
二、ORACLE七个服务程序
1、Oracle ORCL VSS Writer Service。
2、OracleDBConsoleorcl
3、OracleJobSchedulerORCL
4、OracleMTSRecoveryService
5、OracleOraDb11g_home1ClrAgent
6、OracleOraDb11g_home1TNSListener
7、OracleServiceORCL
-----------------------------------------------------------------------------------
三、SQL语言分类
1、数据查询语言DQL(Data Query Language),指SELECT语句。
2、数据操纵语言DML(Data Manipulation Language),指INSERT、UPDATE、DELETE语句。
3、事务控制语言TCL(Transactional Control Language),用于维护事务的一致性,包括COMMIT、ROLLBACK、SAVEPOINT,SAVEPOINT用于设置保存点,以取消部分数据库改变,当事务提交
或回回滚时保存点即失效。例:
SQL> create table tt(tid number(6) not null, b varchar2(300));
Table created
SQL> insert into tt values(1,'一');
1 row inserted
SQL> savepoint a;
Savepoint created
SQL> insert into tt values(2,'二');
1 row inserted
SQL> savepoint b;
Savepoint created
SQL> select * from tt;
TID B
------- --------------------------------------------------------------------------------
1 一
2 二
SQL> rollback to savepoint a;
Rollback complete
SQL> select * from tt;
TID B
------- --------------------------------------------------------------------------------
1 一
SQL> commit;
Commit complete
SQL> rollback to savepoint a;
ORA-01086: 从未在此会话中创建保存点 'A' 或者该保存点无效
事务提交,此时保存点失效
4、数据库定义语言DDL(Data Definition Language),指创建表、修改表、删除表,值得注意的是使用DDL语句会自动提交事务。
5、数据控制语言DCL(Data Control Language),指权限授予(GRANT)和权限收回(REVOKE)语句,DCL语句也是自动提交事务。
四、DQL(Data Query Language)语句,需要注意的地方
1、rownum用法,例:表tb,字段tid number(2) primary key,tc varchar2(300)
select * from tb where rownum<=2 order by tc与select * from tb(表名) where rownum<=2 order by tid的区别,前者随机取两条然后排序,后者排序过后再取前两条(原因
,后者排序字段为主键,主键是唯一索引,索引在创建时即会对数据根据索引进行排序)。
2、with as用法,with a as(select tid from tt) select * from a;相当于创建了一个临时表a。
3、optimizer_hints(指定执行计划)在sql中的用法,如
a、基于规则的执行计划, select /*+rule*/ * from tt。
b、根据某个索引来执行查询,select /*+ index(tt tid)*/ * from tt;