Oracle实用笔记

Oracle实用笔记,一些关于工作常用知识的总结。

Oracle实用笔记 数据库访问技术 安装步骤 ODBC{开放数据互连技术,使用统一的方式处理所有数据库操作} 基本概念 数据库{保存管理数据的仓库} 表{以二维数组形式存储和保存数据的逻辑结构} 行{一条记录} 列{一个字段} 数据类型{数据在计算机中的存储形式} 主键{一条记录的唯一标识,一张表只能有一个} 标准SQL语句 DDL{数据定义语言} DROP{删除数据,以及表结构} CREATE{创建表,表空间,用户} ALTER{修改字段,表,空间大小} DROP TABLE table_name{删除表} 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 {分组统计} ORDER BY{数据排序} ASC{从小到大} DESC{从大到小} HAVING{是对分组后的结果进行过滤} DCL{数据控制语言} GRANT {授予权限} REVOKE{ 回收权限} GRANT DBA TO USER COMMIT{提交事务} ROLLBACK{回滚事务} JDBC{JAVA数据库连接} 推荐学习方式 培养兴趣 打好基础 编写SQL语句 提高学习效率 学习新知识 使用不同的语句完成相同的功能 利用搜索引擎[百度,谷歌],了解最新资讯 实践操作 数据库是极强的实践技术 要培养解决问题的方法和思路 确定软件版本{www.oracle.com} 确定安装系统 Linux Windows 安装步骤 跳过 选第一个 服务器版 设置字符集 创建管理用户 检查安装环境 数据库管理 数据库启动 {startup} 数据库关闭 {shutdown immediate} 数据库监听 启动 {lsnrctl start} 关闭 {lsnrctl stop} 约束{控制列的值} 默认{列默认值} CREATE TABLE table_name( 字段名 字段类型 约束 默认值,...) 语法结构 PRIMARY KEY 添加主键约束 ALTER TABLE table_name ADD CONSTRAINTS 约束名称 PR IMARY KEYV (字段名) ALTER TABLE table_name DROP CONSTRAINTS 约束名称 外键{两张表建立约束连接} 语法结构 CONSTRAINT 外键别名 FOREIGN KEY column_name REFERENCES table_name(column_name) 非空 语法结构 NOT NULL 唯一{一条记录的唯一标识,一张表可以有多个} 语法结构 UNIQUE 语法调优 按照从左至右,从上至下的方法,了解执行计划的执行步骤 按照层次逐步缩进 查看总COST,获得资源耗费的总体印象 分析表的访问方式 全表扫描[TABLE ACCESS FULL] 有索引,却走了全表扫描 索引扫描[INDEX SCAN] 访问方式可能存在问题 没有合适的索引而走了全表扫描 就需要分析能否建立索引,或者是否能选择更合适的表连接方式和连 接顺序以提高效率 分析表的连接方式和连接顺序{就是以哪张表作为驱动表来连接其他表 的先后访问顺序} 嵌套循环[NESTED LOOPS] 哈希连接[HASH JOIN] 排序-合并连接[SORT MERGE JOIN] 说明 类似于用两层循环处理两个游标,外层游标称作驱动表,Oracle检索驱动表的数据,一条一条 的代入内层游标,查 找满足WHERE条件的所有数据。 说明 先将驱动表的数据按照条件字段以散列的方式放入内存,然后在内存中匹配满足条件的行。哈 希连接需要有合适的内存 ,而且必须在CBO优化模式下,连接两表的WHERE条件有等号的情况下才可以使用。哈希连接 在表的数据量较大,表中 没有合适的索引可用时比嵌套循环的效率要高。 我们平时需要结合执行计划,和实际测试的运行时间,来确定一个执 行计划的好坏。 REVOKE CONNECT,RESOURCE FROM user CREATE TABLE AS SELECT * FROM table_Name 语法 DEFAULT value 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]; 执行代码
本文由MindMaster用户 laxilo 发布,不代表亿图软件立场,如转载,请注明出处:https://mm.edrawsoft.cn/community/
立即使用
分享 |
144
|
23

相关模板推荐

  • 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];
        • 异常语法