plsql查询和数据对象

[size=medium]

626

---多表查询
--Oracle定义的链接类型
1、等于链接
2、不等链接
3、外连接(可细分为左外连接、右外连接)
没有加号的一方是主表
4、自链接
--工业标准定义(SQL 1999)的链接类型
1、交叉连接(笛卡尔乘积)
2、自然链接(相当于Oracle的“等于连接”)
3、Using 子句
4、内连接
5、外连接(全外连接、左外连接、右外连接)

---分组计算函数和group by
--分组计算函数
1、求和(SUM)
2、求平均值(AVG)
3、计数(COUNT)
----------------------------------------------------------------
函数用法 意义
COUNT(*) 返回满足选择条件的所有行的行数,包括值为空的行和重复的行
COUNT(expr) 返回满足选择条件的且表达式不为空行数。
COUNT(DISTINCT expr) 返回满足选择条件的且表达式不为空,且不重复的行数。
-----------------------------------------------------------------
4、求标准差(STDDEV)
5、求方差(VARIANCE)
6、求最大值(MAX)
7、求最小值(MIN)
--使用GROUP BY 子句进行分组
▲SELECT 查询语句中同时选择分组计算函数表达式和其他独立字段时,其他字段必须出现在Group By子
句中,否则不合法。
▲不能在Where 条件中使用分组计算函数表达式,当出现这样的需求的时候,使用Having 子句。
▲分组计算函数也可嵌套使用


--子查询
①单行比较必须对应单行子查询(返回单一结果值的查询); 比如= , >
②多行比较必须对应多行子查询(返回一个数据集合的查询);比如IN , > ANY, > ALL 等
▲any 任意 小于最大,大于最小
▲all 所有 小于最小,大于最大


---DML数据操纵语言
--insert
INSERT INTOtable [(column [, column...])] VALUES (value [, value...]);
从另一个表中copy一行
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM employees
WHERE job_id LIKE '%REP%';

--update
UPDATE table
SET column = value [, column = value, ...]
[WHERE condition];
▲当存在约束的时候,某些更新可能会失败

--delete
DELETE [FROM] table [WHERE condition];
▲TRUNCATE TABLE copy_emp 截断数据,无法回滚
▲当存在约束的时候,某些删除可能会失败

--merge 比较整合语句 用来合并UPDATE和INSERT语句
MERGE INTO table_name table_alias
USING (table|view|sub_query) alias
ON (join condition)
WHEN MATCHED THEN
UPDATE SET
col1 = col_val1,
col2 = col2_val
WHEN NOT MATCHED THEN
INSERT (column_list)
VALUES (column_values);

---事务控制(控制数据一致性)
--当如下事件发生是,会隐式的执行Commit动作:
1、数据定义语句被执行的时候,比如新建一张表:Create Table …
2、数据控制语句被执行的时候,比如赋权GRANT …( 或者DENY)
3、正常退出iSQL*Plus 或者PLSQL DEVELOPER, 而没有显式的执行COMMIT 或者ROLLBACK 语句。
--当如下事件发生时,会隐式执行Rollback 动作:
1、非正常退出iSQL*Plus , PLSQL DEVELOPER, 或者发生系统错误。
--在Commit 或者Rollback前后数据的状态:
1、在数据已经被更改,但没有Commit前,被更改记录处于被锁定状态,其他用户无法进行更改;
2、在数据已经被更改,但没有Commit前,只有当前Session的用户可以看到这种变更,其他Session的用户
看不到数据的变化。
3、在数据已经被更改,并且被Commit后,被更改记录自动解锁,其他用户可以进行更改;
4、在数据已经被更改,并且被Commit后,其他Session的用户再次访问这些数据时,看到的是变化后的数据。


---锁
防止并发事务对相同的资源(所谓资源是指表、行、共享的数据结构、数据字典行等)进行更改的时候,相互破坏。


---表
表名:1、必须以字母开头
2、长度不能超过30个字符
3、只能包含A–Z, a–z, 0–9, _, $, and #
4、不能与数据库中的已有对象重名
5、不能使用Oracle 数据库的保留字
-----------------------------------------------
数据类型 描述
VARCHAR2(size) 可变长字符串
CHAR(size) 定长字符串
NUMBER(p,s) 可变长数值
DATE 日期时间
LONG 可变长大字符串,最大可到2G
CLOB 可变长大字符串数据,最大可到4G
RAW and LONG RAW 二进制数据
BLOB 大二进制数据,最大可到4G
BFILE 存储于外部文件的二进制数据,最大可到4G
ROWID 64进制18位长度的数据,用以标识行的地址
TIMESTAMP 精确到分秒级的日期类型(9i以后提供的增强数据类型)
----------------------------------------------------------------------------------------


---数据库对象-约束

--NOT NULL (非空约束)
--UNIQUE (唯一性约束)
建表时:CONSTRAINT emp_email_uk UNIQUE(email)
--PRIMARY KEY (主键约束)
建表时:CONSTRAINT dept_id_pk PRIMARY KEY(department_id));
--FOREIGN KEY (外键约束)
建表时:CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id)
外键约束类型:
? REFERENCES: 表示列中的值必须在父表中存在
? ON DELETE CASCADE: 当父表记录删除的时候自动删除子表中的相应记录.
? ON DELETE SET NULL: 当父表记录删除的时候自动把子表中相应记录的值设为NULL
--CHECK (自定义约束)

--单独创建约束
ALTER TABLE tablename ADD CONSTRAINT constraintname constrainttype (column1,…);

--删除约束
1、ALTER TABLE employees DROP CONSTRAINT emp_manager_fk;
2、ALTER TABLE departments DROP PRIMARY KEY CASCADE;

--失效/生效约束
ALTER TABLE employees DISABLE(ENABLE) CONSTRAINT emp_emp_id_pk CASCADE;

--查看系统中的约束(user_constraints)
SELECT constraint_name, constraint_type,
search_condition
FROM user_constraints
WHERE table_name = 'EMPLOYEES';


---数据库对象-视图
--创建
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];

CREATE VIEW empvu80
AS SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = 80;

--删除
DROP VIEW empvu80;

--TOP-N 查询
SELECT [column_list], ROWNUM
FROM (SELECT [column_list]
FROM table
ORDER BY Top-N_column)
WHERE ROWNUM <= N;


---数据库对象-序列、索引、同义词
--序列
CREATE SEQUENCE sequence
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
从序列取值: CURRVAL 取当前值, NEXTVAL取下一个值

--索引
作用:加快查询
适合创建索引:查询条件中使用到这个列(或者这个列于其他列的组合),
且这个列(或者与其他列的组合)上的数字范围跨度很大
不适合创建索引:被查询的表本身就很小,即是是全表扫描也非常快; 或者基于这张表的查询,
大多数情况下需要获取的数据量都超过了总量的4%;或者这张表需要频繁的
被更新,建立索引的话会引起索引的频繁更新,从而反而降低数据库的整体效率。
CREATE INDEX emp_last_name_idx ON employees(last_name);

--同义词
作用:简化写法
CREATE SYNONYM Table1 for B.Table1

[/size]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习pl/sql的好资料 目录 目录.............................................................................................................................................................3 1. 介绍.....................................................................................................................................................9 2. 安装...................................................................................................................................................13 2.1 系统需求......................................................13 2.2 工作站安装....................................................13 2.3 基于服务器安装................................................13 2.4 脚本安装......................................................14 2.5 卸载 PL/SQL DEVELOPER...........................................14 3. 编写程序...........................................................................................................................................15 3.1 创建程序......................................................15 3.2 保存程序......................................................16 3.3 修改程序......................................................17 3.4 编译程序......................................................17 3.5 置换变量......................................................18 4. 测试程序...........................................................................................................................................19 4.1 创建测试脚本..................................................19 4.2 运行测试脚本..................................................20 4.3 变量类型......................................................21 4.4 保存测试脚本..................................................22 4.5 跟踪运行时间错误..............................................23 4.6 包声明和 JAVA 会话声明.........................................23 4.7 查看结果集....................................................24 4.8 查看 DBMS_OUTPUT................................................24 4.9 查看 HTP 输出.................................................24 4.10 调试..........................................................24 4.11 跟踪运行......................................................28 4.12 回归测试......................................................29 5. 优化...................................................................................................................................................30 5.1 使用解释计划窗口..............................................30 5.2 自动统计......................................................31 5.3 PL/SQL 概览图...................................................32 5.4 SQL 跟踪........................................................33 6. 专用 SQL...........................................................................................................................................35 6.1 使用 SQL 窗口.................................................35 6.2 结果表格处理..................................................36 6.3 实例模式查询..................................................40 6.4 连接查询......................................................41 6.5 置换变量......................................................42 4 PL/SQL Developer 7.0 用户指南 6.6 更新数据库....................................................43 6.7 查看和编辑 XMLTYPE 列..........................................44 6.8 直接查询导出..................................................44 6.9 保存 SQL 脚本..................................................44 6.10 创建标准查询..................................................45 7. 命令窗口...........................................................................................................................................46 7.1 输入 SQL 语句和命令............................................46 7.2 开发命令文件..................................................47 7.3 支持命令......................................................48 8. 创建与修改非 PL/SQL 对象............................................................................................................51 8.1 表定义编辑器..................................................51 8.2 序列定义编辑器................................................63 8.3 同义词定义编辑器..............................................63 8.4 库定义编辑器..................................................64 8.5 目录定义编辑器................................................64 8.6 作业定义编辑器................................................65 8.7 队列定义编辑器................................................65 8.8 队列表定义编辑器..............................................66 8.9 用户定义编辑器................................................67 8.10 角色定义编辑器................................................70 8.11 概要文件定义编辑器............................................71 8.12 数据库连接定义编辑器..........................................71 9. 图表...................................................................................................................................................72 9.1 创建图表......................................................72 9.2 保存和打开图表文件............................................75 9.3 更新图表......................................................75 10. 报告...................................................................................................................................................76 10.1 标准报告......................................................76 10.2 定制报告......................................................77 10.3 变量..........................................................78 10.4 精制版面......................................................83 10.5 风格库........................................................90 10.6 选项..........................................................91 10.7 报告菜单......................................................93 11. 图形...................................................................................................................................................94 12. 工程...................................................................................................................................................97 12.1 创建一个新工程................................................97 12.2 保存工程......................................................98 12.3 添加文件到工程................................................98 12.4 添加数据对象到工程..........................................98 PL/SQL Developer 7.0 用户指南 5 12.5 用工程项目工作................................................99 12.6 编译工程......................................................99 13. 任务项目.........................................................................................................................................101 13.1 创建任务项目.................................................102 13.2 编辑任务项目.................................................102 13.3 关闭任务项目.................................................103 13.4 删除任务项目.................................................103 14. 窗口、数据库会话和事务.............................................................................................................104 14.1 会话模式.....................................................104 14.2 运行于多路会话或双路会话模式.................................104 15. 浏览对象.........................................................................................................................................105 15.1 使用浏览器...................................................105 15.2 浏览器过滤器.................................................110 15.3 浏览器文件夹.................................................111 16. 首选项.............................................................................................................................................114 16.1 ORACLE - 连接.................................................115 16.2 ORACLE - 选项.................................................116 16.3 ORACLE - 调试器...............................................117 16.4 ORACLE - 输出.................................................118 16.5 ORACLE - 跟踪.................................................119 16.6 ORACLE - 概览图...............................................119 16.7 ORACLE - 登录历史.............................................121 16.8 ORACLE - 提示.................................................122 16.9 用户界面 - 选项.............................................124 16.10 用户界面 - 工具栏...........................................125 16.11 用户界面 - 浏览器...........................................126 16.12 用户界面 - 编辑器...........................................127 16.13 用户界面 - 字体.............................................129 16.14 用户界面 - 代码助手.........................................130 16.15 用户界面 - 键配置...........................................131 16.16 用户界面 - 外观.............................................132 16.17 用户界面 - 日期/时间........................................133 16.18 窗口类型 - 程序窗口.........................................134 16.19 窗口类型 - SQL 窗口.........................................136 16.20 窗口类型 - 测试窗口.........................................138 16.21 窗口类型 - 计划窗口.........................................138 16.22 工具 - 差异.................................................139 16.23 工具 - 数据生成器...........................................139 16.24 工具 - 任务列表.............................................140 16.25 工具 - 重新调用声明.........................................140 6 PL/SQL Developer 7.0 用户指南 16.26 文件 - 目录..................................................141 16.27 文件 - 扩展名................................................142 16.28 文件 - 格式..................................................143 16.29 文件 - 备份..................................................144 16.30 文件 - HTML/XML..............................................145 16.31 其它 - 打印..................................................146 16.32 其它 - 更新与消息............................................147 16.33 首选项集.....................................................148 17. 工具................................................................................................................................................150 17.1 浏览器.......................................................150 17.2 查找数据对象...............................................151 17.3 编译无效对象.................................................152 17.4 导出表.......................................................153 17.5 导入表.......................................................156 17.6 导出用户对象.................................................158 17.7 文本导入器...................................................159 17.8 ODBC 导入器..................................................163 17.9 数据生成器...................................................165 17.10 比较用户对象.................................................169 17.11 比较表数据...................................................171 17.12 事件监视器...................................................173 17.13 会话.........................................................174 17.14 自定义工具...................................................176 17.15 测试管理器...................................................181 18. 编辑器............................................................................................................................................185 18.1 选择功能.....................................................185 18.2 列选择.......................................................185 18.3 指引线.......................................................186 18.4 代码助手.....................................................186 18.5 重新调用语句.................................................187 18.6 专用复制.....................................................188 18.7 前后关系敏感帮助.............................................189 18.8 数据对象弹出式菜单.........................................189 18.9 解释计划.....................................................189 18.10 宏...........................................................189 18.11 书签.........................................................191 18.12 颜色标记.....................................................191 18.13 代码目录.....................................................192 18.14 代码层次.....................................................193 18.15 超链接导航...................................................193 18.16 导航按钮.....................................................194 PL/SQL Developer 7.0 用户指南 7 18.17 重构.........................................................194 18.18 搜索栏.......................................................195 19. 大数据编辑器.................................................................................................................................197 19.1 编辑纯文本...................................................198 19.2 编辑 RTF.....................................................198 19.3 编辑 XML.....................................................199 19.4 编辑图象.....................................................200 19.5 编辑十六进制数据.............................................200 19.6 调用外部查看器或编辑器.......................................202 20. 查询设计器.....................................................................................................................................204 20.1 创建新的 SELECT 语句...........................................204 20.2 修改现有的 SELECT 语句.........................................208 20.3 处理查询定义.................................................208 20.4 查询设计器首选项.............................................209 20.5 查询设计器插件...............................................210 21. PL/SQL 美化器...............................................................................................................................211 21.1 定义选项.....................................................211 21.2 定义规则.....................................................212 21.3 使用美化器...................................................213 22. 模板.................................................................................................................................................214 22.1 模板窗口.....................................................214 22.2 使用模板.....................................................215 22.3 创建和修改模板...............................................216 23. 窗口列表.........................................................................................................................................221 24. 可停放和浮动的工具.....................................................................................................................222 25. 授权.................................................................................................................................................223 25.1 启用授权.....................................................223 25.2 定义授权.....................................................224 25.3 停用授权.....................................................225 26. ORACLE 文件系统 (OFS)...............................................................................................................226 26.1 OFS 管理器...................................................226 26.2 OFS 用法.....................................................228 27. 帮助系统.........................................................................................................................................230 27.1 MS 帮助文件..................................................230 27.2 HTML 手册....................................................230 28. 定制.................................................................................................................................................234 28.1 首选项.......................................................234 28.2 窗口版面.....................................................234 28.3 在线文档.....................................................234 8 PL/SQL Developer 7.0 用户指南 28.4 命令行参数...................................................236 28.5 SQL、PL/SQL、命令、JAVA 和 XML 关键词.........................238 28.6 插件.........................................................238

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值