**Oracle关系型数据库**
一、什么是关系型数据库?(每个阶段的只是达标点)
答:关系型数据库是以二维表的形式来存储数据的,数据和数据之间存在着交叉引用的关系。
二、如何实现基础查询
1.1 select 字段1、字段2、 from 表名
1.2 select * from 表名
查询数据时具体的字段和号的区别是什么?
答:在进行数据查询时,查询语句后跟的是具体的字段在执行时要比号查询执行的效率快,而查询字段是号时,我们的计算机底层会先将翻译成具体的字段后再进行查询,也就是多了一步,所以在执行查询语句时,具体的字段在执行时比号查询效率高。
1.3 字段可以进行加减乘除的运算,但是不能进行%,也就是取余运算
1.4 在给字段起别名时,
例:select first_name as ‘姓’,as关键字可以省略
1.5 在给字段进行拼接时,
可以用 | | 进行字段的拼接
例:select first_name || 拼接字符 || last_name from 表名
三、排序查询
排序查询的关键字为:order by
默认是升序:asc(从低到高) 降序是:desc(从高到底)
四、单行函数
单行函数都有:
1.1 to_char,将日期类型转换为字符串类型
1.2 to_date, 将字符串类型转换为指定的字符类型
yyyy-年
MM-月
dd-日
HH-时
mm-分
ss-秒
五、组函数
sum 求和
avg 求平均值
max 求最大值
min 求最小值
count 求总数
六、分组查询
group by:分组前查询
having :分组后查询,分组之后再判断
七、查询语句的执行顺序
1、from-从哪里开始查
2、where-查询的条件是什么
3、group by-从分组的条件开始查
4、having-分组以后再次筛选
5、select-对查询出来的结果生成结果集
6、order by-给查询结果排序
八、子查询
子查询分为一行一列:
where 关键字,返回的是一条符合条件的具体信息,也就是一行一列
in 关键字可以一起查询多个想要查询符合条件的信息,返回的信息是多行一列的信息。
九、伪列
伪列并不是真实存在的,而是数据库系统提供的
rownum 伪列,对查询出来的数据进行排序,而且查询出来的数据永远都只从1开始,进行分页查询时要对rownum起别名,使其成为数据库中真实存在的字段,
例:
select * from
(select e. ,rownum r from employees e )
where salary r>10 and r<20;
十、表连接查询
左外连接:
语法:select * from employees e left join department d on e.department_id=d.department;
特点:左表记录全部出现在查询结果中,右边表中的数据根据连接条件将可以连接的数据进行连接展示
自连接:一张表自己跟自己链接,也就是把自己想象成两张表,但还是一张
语法:
select * from employees e left join employees em on e.manager_id=em.employees_id;
十一:数据库的建表(重点)
create table 表名(列名、数据类型、约束字段、列名、数据类型、约束字段)
命名规范:
只能以数字、字母、下划线、$、#,只能以字母开头
oracle数据库中的数据类型:
char(长度)定长字符串,也就是说,比如设置了10个的字符长度,如果只用到了三个,那么依然会有七个的长度的内存被占用,尽管这七个长度是没有用过的
varchar2(长度),可变长字符串,跟上个例子一样,和定长字符串不同的是,如果设置的字符长度没用完的话,就会按照实际的使用长度占用内存
可变长字符串的好处在于:不会像定长字符串一样出现资源浪费,内存占用的问题。
建表约束:
1.主键约束 primary key (必填内容) 非空的 唯一
2.唯一约束 unique
3.非空约束 not null
4.检查约束 check 对存储内容的要求
5.外键约束 foreign key 语法 references 表名(字段)
添加数据:
insert into 表名 values(按照设置的字段填写值);
删除数据:
delete from 表名 where 字段 = 值;
注意:如果不设置需要删除的那个数据的值的话,所有的数据都会被删除
修改数据:
update 表名 set 字段名1、字段名2、where 条件判断;
序列:序列是oracle数据库提供的一个自增长的序号
创建序列:CREATE SEQUENCE 序列名;
删除序列:drop SEQUENCE 序列名;
什么是事物:事物就是用户操作数据库的最小单元,事务是一个不可分割的整体。一个事务由一到多条SQL语句组成,这组SQL语句要么一起成功、要么一起失败,保证业务操作完整性的一种数据库机制。
事物的命令有:commit提交,rollback回滚两种。
事物的原理:在客户端连接上数据库时,会开辟出一个小的空间,成为回滚段,用来缓存还没有执行的sql语句,如果执行命令是commit,那么就将回滚段中的事物进行提交,如果执行命令是rollback,那么这个事物进行回滚,也就是丢弃回滚段中的所有事物。
4.事务的特性(ACID):
4.1 Atomic-原子性
4.2 Consistency-一致性
4.3 Isolation-隔离性
4.4 Durability-持久性