Oracle学习笔记

发布 2021-05-11 23:18:28 阅读 5089

j**a相关课程系列笔记之二。

笔记内容说明。

oracle数据库、sql(薛海璐老师主讲,占笔记内容100%);

目录。一、 数据库介绍 1

1.1表是数据库中存储数据的基本单位 1

1.2数据库标准语言 1

1.3数据库(db) 1

1.4数据库种类 1

1.5数据库中如何定义表 1

1.6 create database dbname的含义 1

1.7安装dbms 1

1.8宏观上是数据-->database 1

1.9远程登录:telnet ip地址 1

1.10 tcp/ip通信协议 2

1.11数据库建连接必须提供以下信息 2

1.12一台机器可跑几个数据库,主要受内存大小影响 2

1.13源表和结果集 2

1.14几个简单命令 2

1.15 tarena给jsd1304授权 2

1.16课程中使用的5个表 3

二、 select from语句 5

2.1 select语句功能 5

2.2 select语句基本语法 5

2.3列别名 5

2.4算术表达式 5

2.5空值null的处理 5

2.6 nvl(p1,p2)函数 5

2.7拼接运算符 ||6

2.8文字字符串 6

2.9消除重复行 6

2.10其他注意事项 6

三、 sql语句的处理过程 7

3.1 sql语句处理过程 7

3.2处理一条select语句 7

四、 where子句 8

4.1 where子句后面可以跟什么 8

4.2语法和执行顺序 8

4.3字符串是大小写敏感的,在比较时严格区分大小写 8

4.4 where子句后面可以跟多个条件表达式 8

4.5 between and运算符 8

4.6 in运算符(多值运算符) 8

4.7 like运算符 9

4.8 is null运算符 9

4.9比较和逻辑运算符(单值运算符) 9

4.10多值运算符all、any 9

4.11运算符的否定形式 9

五、 order by子句 10

5.1语法和执行顺序 10

5.2升降序 10

5.3 null值在排序中显示 10

5.4 order by后面可以跟什么 10

5.5多列排序 10

六、 单行函数的使用 11

6.1数值类型 11

6.2日期类型 11

6.3字符类型 13

6.4转换函数 14

6.5其他注意事项 14

七、 sql语句中的分支 15

7.1分支表达式 15

7.2分支函数 15

八、 组函数 16

8.1报表统计常用 16

8.2缺省情况组函数处理什么值 16

8.3当组函数要处理的所有值都为null时 16

8.4行级信息和组级信息 16

九、 group by子句 17

9.1语法和执行顺序 17

9.2分组过程 17

9.3常见错误 17

9.4多列分组 17

十、 h**ing子句 18

10.1语法和执行顺序 18

10.2执行过程 18

10.3 where和h**ing区别 18

十一、 非关联子查询 19

11.1语法 19

11.2子查询的执行过程 19

11.3常见错误 19

11.4子查询与空值 19

11.5多列子查询 20

十二、 关联子查询 21

12.1语法 21

12.2执行过程 21

12.3 exists 21

12.4 exists执行过程 21

12.5 not exists 22

12.6 not exists执行过程 22

12.7 in和exists比较 22

十三、 多表查询 23

13.1按范式要求设计表结构 23

13.2多表连接的种类 23

13.3交叉连接 23

13.4内连接 23

13.5外连接 25

13.6非等值连接 27

13.7表连接总结 27

十四、 集合 28

14.1表连接主要解决的问题 28

14.2集合运算 28

14.3集合运算符 28

14.4子查询、连接、集合总结 29

十五、 排名分页问题 30

15.1什么是rownum 30

15.2 where rownum<=5的执行过程 30

15.3 where rownum=5的执行过程 30

十六、 约束constraint 31

16.1约束的类型 31

16.2 primary key:主键约束 31

16.3 not null:非空约束 31

16.4 unique key:唯一建约束 31

16.5 references foreign key:外键约束 32

16.6 check:检查约束 34

十七、 事务 35

17.1 transaction 35

17.2定义 35

17.3事务的特性:acid 35

17.4事务的隔离级别 35

17.5数据库开发的关键挑战 35

17.6锁的概念 36

17.7 oracle的锁机制 36

17.8事务不提交的后果 36

17.9回滚事务rollback 36

17.10保留点s**epoint 36

十八、 数据库对象:视图view 37

18.1带子查询的create table 37

18.2带子查询的insert 37

18.3定义缺省值:default 37

18.4 视图view 38

18.5视图的应用场景 38

18.6视图的分类 39

18.7视图的维护 39

十九、 数据库对象:索引index 41

19.1创建index 41

19.2扫描表的方式 41

19.3索引的结构 41

19.4为什么要使用索引 42

19.5哪些列适合建索引 42

19.6索引的类型 42

19.7哪些写法会导致索引用不了 43

二十、 数据库对象:序列号sequence 44

20.1什么是sequence 44

20.2创建sequence 44

20.3缺省是nocycle(不循环) 44

20.4缺省cache 20 44

二十一、 其他注意事项 46

21.1删除表,删除列,删除列中的值 46

21.2多对多关系的实现 46

21.3一对多(两张表) 46

21.4一对一 46

21.5数据库对象 46

12.6缺省(默认)总结: 46

结构化查询语言sql:structureed query language

1)数据定义语言ddl:data definition language

create table列表结构、alter table修改列、drop table删除列。

2)数据操作语言dml:data manipulation language

insert增加一行,某些列插入值、update修改一行,这一行的某些列、delete删除一行,跟列无关。

3)事务控制语言tcl:transaction conrtol language

commit确认,提交(入库)、rollback取消,回滚,撤销。

4)数据查询语言dql:data query language

select语句。

5)数据控制语言dcl:data control language

系统为多用户系统因此有隐私权限问题:grant 授权、revoke**权限。

database 关系数据库使用关系或二维表存储信息。

关系型数据库管理系统(edbms):relationship database management system是一套软件,用于在数据库中存储数据、维护数据、查询数据等。

oracle 10g(oracle)、db2(ibm)、sql server(ms)

先画列即表头(列名,数据类型及长度,约束);数据类型有字符、数值number、日期date。

创建数据库即创建可用空间,创建出一堆数据文件data file

职位:dba 数据库管理员(database administrator)

开发流程:create tabale dml tcl ->dql select

sql developer在linux系统---连接---database在solaris系统。

两台机器上的两个应用程序要通信,必须依赖网络,依赖tcp/ip通信协议。

ip:ip协议包中提供要连接机器的ip地址,用于标识机器。

tcp:tcp协议包中提供与机器上的哪个具体应用程序通信,通过端口号实现,oracle数据库服务缺省端口为1521,用于标识oracle此数据库应用。

ip地址(确认机器)、port号(确认进程(程序)确认oracle)

sid:一个端口可以为多个oracle数据库提供监听,因此还需要提供具体的数据库名。(确认数据库里的哪个数据库)

username、password:要想访问数据库,必须是该数据库上一个有效的用户。(确认身份)

源表:被查询的表结果集:select语句的查询结果。

show user:查看当前用户 desc 表名:查看表结构。

drop table 表名 purge;删除表,oracle中删除表不是真正的删除,而是占空间的移动到别的地方,因为为了不占空间,真正的删除需要用purge。

delete from 表名:删除表中所有值;若加上where 列名=value则删除某列中的值。

connect tarena/tarena

grant select on account to jsd1304grant select on service to jsd1304;

grant select on cost to jsd1304;

jsd1304 select tarena的表。

connect jsd1304/jsd1304

create synonym 创建同义词create synonym account for

create synonym service for create synonym cost for

1)投影操作:结果集是源表中的部分“列”

2)选择操作:结果集是源表中的部分“行”

3)选择操作+投影操作:结果集是源表中的部分“行”部分“列”

ORACLE学习笔记

rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...

Oracle学习笔记

参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...

ORACLE学习笔记

目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...