数据库oracle学习笔记

1/数据库 解决的问题是 数据的实时性与同步性 数据统一管理的问题
2/数据: 描述事物的符号记录 称之为数据
3/数据是数据库中存储的基本对象
4/数据库是长期存储在计算机内有组织,可共享,的数据集合,数据库一定建立在 操作系统之上 数据库一定要有磁盘控制
5/数据库 数据结构化 数据共享性
6/数据模型 概念模型 物理模型
概念模型:实体 属性 key
表关系:一对一 一对多(一个部门多个学生) 多对多(学生选课)
7/关系数据模型:
8/oracle服务 包括:监听服务 与 实例服务
监听服务:通过远程客户端连接数据库或者直接通过程序来操作数据库必须打开
实例服务:本身是一个平台 会有很多个数据库,每一个数据库都会有一个oracleserviceSid
9/格式化命令:setlineSize 10 ;设置每行10个字
setpagesize 10;设置每页10行;
10/切换用户
conn 用户名 密码 [ as sysDba]
11/查看当前用户:show user
12/查询另外一个用户名下的表
select * from c##scott.emp;
13/ oracle与mysql 用户方面的区别
(1)oracle是以数据库为中心,一个数据库就是一个域(可以看作是一个文件夹的概念),一个数据库可以有多个用户,创建用户是在登陆数据库之后进行的,但是有表空间的概念
(2)而mysql和sqlserver相反,是以用户为中心,可以有多个用户,用户登陆后可以创建所需要的数据库,可以创建多个数据库,没有表空间的概念
ORACLE一般过程是先建sid(数据库名),再建表空间,再建用户,给用户分配刚建的表空间!最后建表!
一个数据库可以有多个实例,在作数据库服务集群的时候可以用到。
Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
有了数据库,就可以创建表空间。表空间(tablespace)是数据库的逻辑划分.
14/给列名起别名 as 别名尽量用英文 可以进行简单的四则运算
15/ || 进行字符串拼接 查询语句中出现的字符串必须用"" 括起来
16/ 限定查询
A/where字句后面的逻辑运算 and or not 执行顺序 from-->where-->select
B/关系运算符 < / > / >= 等 区分大小写
enamel="SMITH" between and
C/where字句中 null 值得判断 where a is null /where a is not null
D/ 查询范围 in / not in
在Oracle中,not in (...) 括号中的返回值不能存在null值,如果不能确定返回结果一定无null值,还是改为not esists吧。而且not in效率低下,一般不能用到索引,生产环境的程序最好不要使用。
E/like === not like %:任一位 _:一位
16/order by 执行顺序在select 之后 可以使用select字句中的设置的别名 可以多个条件 order by sal desc ,date asc

17/内连接 外链接


内外连接.png

18/交叉连接--产生笛卡尔积


交叉连接.png

19/自然连接

20/using字段应用


using字段应用.png

21/on字句的应用
on子句的应用.png

22/外链接
外链接.png

23/连接总结
连接总结.png

24/子查询
子查询常见的操作.png

子查询的返回结果.png

子查询1.png

25/having子句 一般会出现在group by 后面


having子句.png

26/from 子句中用子查询
子查询from子句.png

子查询2.png

子查询3.png

你可能感兴趣的:(数据库oracle学习笔记)