首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle学习笔记(三)

表连接

概念: 将多张表的数据合并成一张表,然后进行查询处理.[放在from后面]

内连接: 关键词:[inner] join

语法:表1 join 表2 on 表1.xx字段=表2.xx字段

人工思路图示

特点:

合并左表中存在且右表中与之对应的数据

左表中存在,但右表中没有与之对应的数据,直接舍弃.

外连接

分类:

左外连: [常用]

关键词: left [outer] join

语法:表1 left join 表2 on 连接规则.

特点:

左表中存在,且右表中有与之对应的数据,合并保留.

左表中存在,且右表中没有与之对应的数据,保留,不存在的数据补空.

右外联:[了解]

语法: 表1 right [outer] join 表2 on 连接规则

特点: 保留右表存在,但左表中不存在的数据.

表连接应用

建表

建表语法

数据类型

数字

字符串

日期

约束

外键约束

单词:forienkey

语法关键词: refrences

外键列:

作用: 表名当前表的数据和另一张表数据的关系.

特点:

通过外键关联表的数据.

该列的值,必须来源于另一张表的中字段中的已存在的值.

语法:

增删改SQL

[重点]

SQL分类

DQL: Data query Language 数据查询语言

功能: 查询数据 select

DML: Data Manipulation language 数据操纵语言

添加insert /修改update /删除delete 数据

添加数据

关键词:insert

语法规则: 表 字段 值

向t_emp表中添加一条数据

注意:

表名后的字段顺序,必须和values后的值的顺序保持一致.

表名后的列名可以省略,默认oracle会按照表的字段的顺序,全部罗列出来.

修改数据

关键词:update

语法规则:update 表名 set 列名=新值,列名=值,列名=值 [where 条件]

删除数据

关键词:delete

细节: 逐行删除数据.

语法规则:delete from 表 [where 条件]

补充删除全表:

如果delete没有wehere,会导致全表数据删除

表截断

本质: 直接将存储表数据部分的空间,直接清除,进而删除数据[非DML]

truncate table 表名

特点: 效率远远高于delete.

视图(View)

关键词: view

创建视图:create view 视图名 as select语句

含义: 将select语句的查询结果,作为视图,可以供查询使用.

使用视图: view 就是一个虚拟表.

优点:

简化SQL语句.

安全性,对开发人员屏蔽掉表 和字段信息.

注意:

视图提高查询效率 ×

视图本质就是存储了select语句, 视图基本不会占用硬盘空间.

删除视图:drop view 视图名;

序列(sequence)

概念: oracle提供的工具,产生一系列连续且不重复的值.

创建序列:

使用序列获得值:

删除序列

索引 Index[重要]

问题: 数据量1000w(Oracle)会出现查询效率急剧降低?

作用: 提高select查询效率.

核心思路:

创建索引:

create index 索引名 on 表(字段)

相当于: create index 索引名 on 字典表(拼音)

使用索引: 不需要手动使用, 默认使用索引字段为条件进行查询时,数据库会自动使用索引查找数据.

删除索引: drop index 索引名;

索引特点:

索引会占用硬盘空间.

增删改操作,会牵涉索引的修改和维护, 降低了DML的效率.[缺点]

PK(Primary key) UK(unique key) 主键和唯一约束的列,数据库会自动添加索引.

事务[重要]

问题:

概念: 数据库的最小执行单元,有多个sql组成的一个整体

事务中的sql执行结果: 要么全部执行成功,要么全部执行失败.

结论: 实际开发中,一个独立的功能中,包含的多个SQL,要作为一个事务来操作.

事务的使用(边界):

成功结束事务: commit(提交);-- 事务中多个sql执行生效.

失败结束事务: rollback(回滚);-- 事务中的多个sql执行失效.

事务的实现原理

数据库会为每个客户端都分配一个独立的回滚段(临时空间 rollback seagment), 临时存放当前客户端sql执行结果.

commit: 将回滚段中的sql执行结果一次性同步到数据库中.

rollback: 将回滚段中sql的执行结果,舍弃丢失.

事务特性: [笔试]

A(Atomic) 原子性: 事务中的多个sql语句是一个整体, 要么全部成功,要么全部失败.

C(Consistency) 一致性: (数据的合理性),事务执行前后(无论失败还是成功),最终数据是合理的.

I(Isolation) 隔离性: 事务与事务之间是相互独立的.

D(Durability) 持久性: 事务结束(成功或失败),对数据库的数据修改时永久性的.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181017G1FHTY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券