导图社区 Oracle实用笔记
Oracle实用笔记,从学习方式入手,理解其概念后逐步学习标准SQL语句,并逐渐掌握数据库访问技术,内容包含了九大块内容,从安装开始学习,一步步掌握!
编辑于2019-04-11 17:28:53MYSQL学习的知识点分享!本思维导图包含学习MYSQL时需要的常规知识点,包含据库、数据库访问技术、Mysql优势、数据库引擎、E-R关系图、结构化查询语言等。知识点详细,内容清晰直观,进来一起学习探讨吧!
Maven必备知识结构,都是日常使用的一些笔记。其中包含Maven的优点、仓库概念、基本配置、项目结构、常用命令、生命周期、插件配置、坐标配置八大块内容。欢迎大家阅读,学习Maven,提升自我小技巧!
Oracle实用笔记,从学习方式入手,理解其概念后逐步学习标准SQL语句,并逐渐掌握数据库访问技术,内容包含了九大块内容,从安装开始学习,一步步掌握!
社区模板帮助中心,点此进入>>
MYSQL学习的知识点分享!本思维导图包含学习MYSQL时需要的常规知识点,包含据库、数据库访问技术、Mysql优势、数据库引擎、E-R关系图、结构化查询语言等。知识点详细,内容清晰直观,进来一起学习探讨吧!
Maven必备知识结构,都是日常使用的一些笔记。其中包含Maven的优点、仓库概念、基本配置、项目结构、常用命令、生命周期、插件配置、坐标配置八大块内容。欢迎大家阅读,学习Maven,提升自我小技巧!
Oracle实用笔记,从学习方式入手,理解其概念后逐步学习标准SQL语句,并逐渐掌握数据库访问技术,内容包含了九大块内容,从安装开始学习,一步步掌握!
Oracle实用笔记
推荐学习方式
培养兴趣
提高学习效率
打好基础
编写SQL语句
使用不同的语句完成相同的功能
学习新知识
利用搜索引擎[百度,谷歌],了解最新资讯
实践操作
数据库是极强的实践技术
要培养解决问题的方法和思路
基本概念
数据库{保存管理数据的仓库}
表{以二维数组形式存储和保存数据的逻辑结构}
行{一条记录}
列{一个字段}
数据类型{数据在计算机中的存储形式}
约束{控制列的值}
主键{一条记录的唯一标识,一张表只能有一个}
语法结构
PRIMARY KEY
外键{两张表建立约束连接}
语法结构
CONSTRAINT 外键别名 FOREIGN KEY column_name REFERENCES table_name(column_name)
引用的表添加,才能在当前表添加.类型必须一致
非空
语法结构
NOT NULL
唯一{一条记录的唯一标识,一张表可以有多个}
语法结构
UNIQUE
默认{列默认值}
语法
DEFAULT value
标准SQL语句
DDL{数据定义语言}
DROP{删除数据,以及表结构}
DROP TABLE table_name{删除表}
ALTER TABLE table_name DROP CONSTRAINTS 约束名称
在工作中,一般都使用管理软件修改.
CREATE{创建表,表空间,用户}
CREATE TABLE table_name( 字段名 字段类型 约束 默认值,...)
CREATE TABLE AS SELECT * FROM table_Name
ALTER{修改字段,表,空间大小}
添加主键约束
ALTER TABLE table_name ADD CONSTRAINTS 约束名称 PRIMARY KEYV (字段名)
在工作中,一般都使用管理软件修改.
DML{数据操作语言}
INSERT{插入数据}
INSERT INTO TABLE_NAME(?,?)VALUES(?,?) WHERE {按指定字段插入数据}
INSERT INTO TABLE_NAME SELECT * FROM TABLE_NAME WHERE {相同结构表的快速插入}
UPDATE{更新数据}
UPDATE TABLE_NAME SET ?=?,?=? WHERE {更新指定字段的值}
DELETE{删除记录,保留表结构}
DELETE TABLE TABLE_NAME {删除记录}
DQL{数据查询语言}
SELECT * FROM TABLE_NAME {查询返回所有字段}
SELECT ?,? FROM TABLE_NAME {查询返回指定字段}
WHERE {过滤条件}
KEY
VALUE
GROUP BY {分组统计}
HAVING{是对分组后的结果进行过滤}
ORDER BY{数据排序}
ASC{从小到大}
默认
DESC{从大到小}
DCL{数据控制语言}
GRANT {授予权限}
GRANT DBA TO USER
REVOKE{ 回收权限}
REVOKE CONNECT,RESOURCE FROM user
COMMIT{提交事务}
ROLLBACK{回滚事务}
数据库访问技术
ODBC{开放数据互连技术,使用统一的方式处理所有数据库操作}
JDBC{JAVA数据库连接}
安装步骤
确定软件版本{www.oracle.com}
确定安装系统
Linux
Windows
安装步骤
跳过
选第一个
服务器版
设置字符集
创建管理用户
检查安装环境
数据库管理
数据库启动 {startup}
数据库关闭 {shutdown immediate}
数据库监听
启动 {lsnrctl start}
关闭 {lsnrctl stop}
语法调优
查看总COST,获得资源耗费的总体印象
按照层次逐步缩进
按照从左至右,从上至下的方法,了解执行计划的执行步骤
分析表的访问方式
全表扫描[TABLE ACCESS FULL]
有索引,却走了全表扫描
访问方式可能存在问题
没有合适的索引而走了全表扫描
就需要分析能否建立索引,或者是否能选择更合适的表连接方式和连接顺序以提高效率
索引扫描[INDEX SCAN]
分析表的连接方式和连接顺序{就是以哪张表作为驱动表来连接其他表的先后访问顺序}
嵌套循环[NESTED LOOPS]
说明
类似于用两层循环处理两个游标,外层游标称作驱动表,Oracle检索驱动表的数据,一条一条的代入内层游标,查找满足WHERE条件的所有数据。
哈希连接[HASH JOIN]
说明
先将驱动表的数据按照条件字段以散列的方式放入内存,然后在内存中匹配满足条件的行。哈希连接需要有合适的内存,而且必须在CBO优化模式下,连接两表的WHERE条件有等号的情况下才可以使用。哈希连接在表的数据量较大,表中没有合适的索引可用时比嵌套循环的效率要高。
排序-合并连接[SORT MERGE JOIN]
我们平时需要结合执行计划,和实际测试的运行时间,来确定一个执行计划的好坏。
Oracle字符集更改
https://www.cnblogs.com/jay-xu33/p/5210098.html
oracle编程
存储过程{执行一段需要多次执行的sql语句}
基本结构
基本语法
定义语法
变量的定义
variable_name type := default_value ;
静态游标定义
CURSOR variable_name IS DML语句;
动态游标定义
SYS_REFCURSOR variable_name;
执行语法
执行代码
EXECUTE IMMEDIATE variable_name [INTO variable_name];
异常语法