(一)主要特点:
- 基于“客户端/服务器”(Client/Server)系统结构。
- 支持多用户、大事务量的事务处理。
- 在保持数据安全性和完整性方面性能优越。
- 支持分布式数据处理。将公布在不同物理位置的数据库用通信网络连接起来,组成一个逻辑上统一的数据库,完成数据处理任务。
- 具有可移植性。Oracle可以在Windows、Linux等多个操作系统平台上使用。
(二)Oracle基本概念:
- 索引:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
- 主键:表中的一列或者几列的组合,用来唯一的标识表中的每一列,这样的一列或者多列的组合叫做表的主键。一个表最多只能有一个主键。
- 外键:对于主键而言的,就是“子表”对应于“主表”的列,在子表总称为外键。一个表可以有多个外键。
- 标识列:标识列的数据是自动生成的,不能在该列上输入数据。
- 约束:约束用于限制加入表的数据的类型。 通过CREATE TABLE 或者 ALTER TABLE 来创建和管理五大约束条件。
- 主键约束(Primay Key Coustraint) 唯一性,非空性
- 外键约束 (Foreign Key Counstraint)需要建立两表间的关系并引用主表的列
- 唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
- 默认约束 (Default Counstraint)该数据的默认值
- 检查约束 (Check Counstraint)对该列数据的范围、格式的限制(如:年龄、性别等)
- 数据库:这里的数据库是磁盘上存储数据的集合,在物理上表现为数据文件、日志文件和控制文件等。在逻辑上以表空间形式存在。必须首先创建数据库,然后才能用Oracle。可以在Database Configuation Assistant上创建。
- 全局数据库名:用于区分一个数据库的标识。它由数据库名称和域名构成,类似网络中的域名,使数据库的命名在整个网络环境中唯一。
- 数据库实例:每个启动的数据库都对应一个数据库实例,由这个实例来访问数据库中的数据。
- 表空间:每个数据库都是由若干个表空间构成的,用户在数据库中建立的所有内容都被存储到表空间中。一个表空间可以由多个数据文件组成,但一个数据文件只能属于一个表空间。
- 数据文件:扩展名是.dbf,是用于存储数据库数据的文件。一个数据文件中可能存储很多个表的数据,而一个表的数据也可以存放在多个数据文件中。数据文件和数据库表不存在一对一的关系。
- 控制文件:技展名.ctl,是一个二进制文件。控制文件是数据库启动及运行所必需的文件。存储数据文件和日志文件的名称和位置。Oracle 11g默认包含三个控制文件。
- 日志文件:扩展名.log,它记录了数据的所有更改信息,并提供了一种数据恢复机制,确保在系统崩溃或其他意外出现后重新恢复数据库。在工作过程中,多个日志文件组之间循环使用。
- 模式和模式对象:模式是数据库对象(表、索引等,也称模式对象)的集合。
(三)Oracle数据类型:
- 字符数据类型:char,varchar2
- 数值数据类型:number
- 日期时间数据类型:date,time
(四)SQL语言分类:
- 数据定义语言(DDL):create创建、alter更改、truncate截断、drop删除
- 数据操纵语言(DML ):insert插入、select选择、delete删除、update更新
- 事务控制语言(TCL ):commit提交、savepoint保存点、rollback回滚
- 数据控制语言(DCL ):grant授予、revoke回收
(五)SQL操作符:
- 算术操作符。+(加)、-(减)、*(乘)、/(除)。
- 比较操作符:=、!=、<、<=、>、>=、between.. and 、in、not in、like、is null、is not null。
- 逻辑操作符:and , or , not。
- 集合操作符:将多个查询的结果组合成一个结果集。
- union 取并集去重
- union all 取并集不去重
- minus 取差集,第一个查询语句减去第二个查询语句的共同的
- intersect 取交集,取两个查询语句的公共部分
(六)SQL函数:
1.字符函数:
2.数值函数:
3.日期函数:
4.转换函数:
5.聚合函数:
- (1)avg(x):返回x的平均值
- (2)count(x):返回一个包含x的查询返回的行数
- (3)max(x):返回x的最大值
- (4)min(x):返回x的最小值
- (5)median(x):返回x的中间值
- (6)stddev(x):返回x的标准差
- (7)sum(x):返回x的和
- (8)variance(x):返回x的方差
6.分析函数:
分析函数是对一组查询结果进行运算,然后获行结果。与聚合函数的区别在于返回多行,聚合函数每组返回一行。用于对分组后组内进行排序。
- row_number函数返回一个唯一的值,当遇到相同数据时,排名按照记录集中记录的顺序依次递增。
- dense_rank函数返回一个唯一的值,当遇到相同数据时,所有相同数据的排名都是一样的。
- rank函数返回一个唯一的值,当遇到相同的数据时,所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。
7.其他函数:
(七)多表联查:
- 内连接:inner jion
- 左外连接:left jion
- 右外连接:right jion
- 交叉连接:cross
(八)常见SQL函数:
1. rownum ,rowid 伪列
参考地址:https://blog.csdn.net/yu102655/article/details/52370542?utm_source=copy
2. case:流程控制函数
参考地址:https://blog.csdn.net/weixin_42382211/article/details/80773483
3. exists,not exists
参考地址:https://www.cnblogs.com/ThreeStone007/p/6589633.html
4. order by,group by ,having
参考地址:https://www.cnblogs.com/rob0121/articles/1714826.html
5. like
参考地址:http://www.w3school.com.cn/sql/sql_like.asp
6. distinct
参考地址:https://blog.csdn.net/jingshaozhi/article/details/78061341
(九)数据库约束,索引,视图,主键,触发器,游标