ImageVerifierCode 换一换
格式:DOCX , 页数:64 ,大小:39.88KB ,
资源ID:6172150      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6172150.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle+编程手册SQL大全.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Oracle+编程手册SQL大全.docx

1、Oracle+编程手册SQL大全Oracle PL/SQL 编程手册(SQL大全)- - 一、SQL PLUS 1 引言 SQL命令 以下17个是作为语句开头的关键字: alter drop revoke audit grant rollback* commit* insert select comment lock update create noaudit validate delete rename 这些命令必须以“;”结尾 带*命令句尾不必加分号,并且不存入SQL缓存区。 SQL中没有的SQL*PLUS命令 这些命令不存入SQL缓存区 define pause # del quit $

2、 describe remark / disconnect run accept document save append edit set break exit show btitle get spool change help sqlplus clear host start column input timing compute list ttitle connect newpage undefine copy - 2 数据库查询 数据字典 TAB 用户创建的所有基表、视图和同义词清单 DTAB 构成数据字典的所有表 COL 用户创建的基表的所有列定义的清单 CATALOG 用户可存取的

3、所有基表清单 select * from tab; describe命令 描述基表的结构信息 describe dept select * from emp; select empno,ename,job from emp; select * from dept order by deptno desc; 逻辑运算符 = !=或 = .05*sal order by comm/sal desc; 日期型数据的运算 add two days to 6-Mar-87 6-Mar-87 + 2 = 8-Mar-87 add two hours to 6-Mar-87 6-Mar-87 + 2/24

4、= 6-Mar-87 and 2hrs add 15 seconds to 6-Mar-87 6-Mar-87 + 15/(24*60*60) = 6-Mar-87 and 15 secs 列名的别名 select ename employee from emp where deptno=10; (别名:employee) select ename,sal,comm,comm/sal C/S RATIO from emp where comm.05*sal order by comm/sal desc; SQL命令的编辑 list or l 显示缓冲区的内容 list 4 显示当前SQL命令的

5、第4行,并把第4行作为当前行,在该行号后面有个*。 change or c 用新的内容替换原来在一行中第一次出现内容 SQLc/(.)/(analyst)/ input or i 增加一行或多行 append or a 在一行后追加内容 del 删除当前行 删除SQL缓冲区中的当前行 run 显示并运行SQL缓冲区中的命令 / 运行SQL缓冲区中的命令 edit 把SQL缓冲区中的命令写到操作系统下的文本文件, 并调用操作系统提供的编辑器执行修改。 - 3 数据操纵 数据的插入 insert into dept values (10,accounting,new york); insert i

6、nto dept (dname,deptno) values (accounting,10); 从其它表中选择插入数据 insert into emp (empno,ename,deptno) select id,name,department from old_emp where department in(10,20,30,40); 使用参数 insert into dept values(&deptno,&dname,&loc); 执行时,SQL/PLUS对每个参数将有提示用户输入 参数对应日期型或字符型数据时,可在参数上加引号,输入时就可不用引号 insert into dept va

7、lues(&deptno,&dname,&loc); 插入空值(NULL) insert into dept values(50,education,null); 插入日期型数据 日期型数据缺省格式:DD-MON-YY insert into emp (empno,ename,hiredate) values(7963,stone,07-APR-87); 系统时间:SYSDATE insert into emp (empno,ename,hiredate) values(7600,kohn,SYSDATE); 数据更新 update emp set job=manager where enam

8、e=martin; update emp set job=market rep where ename=salesman; update emp set deptno=40,job=market rep where job=salesman; 数据删除 delete emp where empno=765; 更新的提交 commit 自动提交方式 set autocommit on 如果状态设为开,则使用inesrt,update,delete会立即提交。 更新取消 rollback 两次连续成功的commit之间的操作,称为一个事务 - 4 创建基表、视图 创建基表 create table

9、 dept (deptno number(2), dname char(14), loc char(13); 数据字典会自动更新。 一个基表最多254列。 表名列名命名规则: 限制 第一个字符必须是字母,后面可任意(包括 $ # _ 但不能是逗号)。 名字不得超过30个字符。 唯一 某一用户的基表名必须唯一,不能是ORACLE的保留字,同一基表的列名互不相同。 使用双引号 如果表名用双引号括起来,则可不满足上述规则; 只有使用双引号,才能区别大、小写; 命名时使用了双引号,在以后的操作也必须使用双引号。 数据类型: char(n) (不得超过240字符) number(n,d) date lo

10、ng (最多65536字符) raw (二进制原始数据) 空值处理 有时要求列值不能为空 create table dept (deptno number(2) not null, dname char(14), loc char(13); 在基表中增加一列 alter table dept add (headcnt number(3); 修改已有列属性 alter table dept modify dname char(20); 注:只有当某列所有值都为空时,才能减小其列值宽度。 只有当某列所有值都为空时,才能改变其列值类型。 只有当某列所有值都为不空时,才能定义该列为not null。

11、例: alter table dept modify (loc char(12); alter table dept modify loc char(12); alter table dept modify (dname char(13),loc char(12); 创建视图 create view managers as select ename,job,sal from emp where job=manager; 为视图列名取别名 create view mydept (person,title,salary) as select ename,job,sal from emp where

12、 deptno=10; with check option选项 使用with check option,保证当对视图插入或更新数据时, 该数据必须满足视图定义中select命令所指定的条件。 create view dept20 as select ename,job,sal,deptno from emp where deptno=20 with check option; 在做下述操作时,会发生错误 update dept20 set deptno=30 where ename=ward; 基表、视图的拷贝 create table emp2 as select * from emp; 基

13、表、视图的删除 drop table 表名 drop view 视图名 - 5 SQL*PLUS报表功能 SQL*PLUS的一些基本格式命令 column deptno heading department column ename heading name column sal heading salary column sal format $99,999.00 ttitle sample report forhitech corp btitle strictly confidential break on deptno compute sum of sal on deptno run 表

14、头和表尾 ttitle sample report forhitech corp btitle right strictly confidential “”表示换行,结尾不必加分号 选项有三种:left right center 使用TTITLE,系统将自动地在每页的顶部显示日期和页号。 TTITLET和BTITLE命令有效,直至重新设置表头或表尾,或退出SQL*PLUS。 下面命令使标题语句失效 TTITLE OFF BTITLE OFF 列名 column命令定义用于显示列名 若名字为一个单词,不必加引号 column ename heading employee column ename

15、 heading employeename (为换行) 取消栏定义 column ename clear 列的格式 column ename format A15 column sal format $9,999.99 column comm like sal like子句,使得某一列的格式参照另一列格式,它拷贝列名及其格式 控制记录显示分组顺序 break on deptno (不显示重复值) select deptno,ename from emp order by deptno; (ORDER BY子句用于控制BREAK) 显示为 10 clark niller 20 smith sco

16、tt 30 allen blake 每次只有一个BREAK命令起作用,但一次可以在多个列上使用BREAK命令 break on 列名1 on 列名2 记录分组 break on deptno skip 2 select deptno,ename from emp order by deptno; 每个deptno之间空两行 clear break(取消BREAK命令) break on page(每次从一新页开始) break on report(每次从一新报表开始) break on page on report(联合使用) 分组计算 break on deptno skip 2 compu

17、te sum of sal on deptno 计算每个部门的工资总和 skip子句使部门之间的信息分隔开 其他计算命令 compute avg of sal on deptno(平均值) count 非空值的总数 MAX 最大值 MIN 最小值 STD 标准偏差 VAR 协方差 NUMBER 行数 使compute命令失效 一旦定义了COMPUTE,则一直有效,直到 关闭COMPUTE(clear compute) SQL/PLUS环境命令 show 选项 (显示当前参数设置情况) show all(显示全部参数) 设置参数 set 选项 值或开关 set autocommit on SET

18、命令包括 set autocommit offonimmediate (自动提交,OFF缺省) set echo offon (命令文件执行,是否在终端上显示命令本身,OFF缺省) set feedback offon (ON:查询结束时,给出结果,记录数的信息,缺省; OFF:无查询结果,记录数的信息) set heading offon (ON:列的头标在报表上显示,缺省;OFF:不在报表上显示) set linesize n 一行显示的最大字符数,缺省为80 set pagesize n 每页的行数,缺省是14 set pause offontext (ON:当报表超过一页时,每显示一屏

19、就暂停显示,等待用户打回车键,再接着显示; OFF:页与页不停顿,缺省;text:页与页停顿,并向用户提示信息) SET BUFFER buffer 设置当头的命令缓冲区,通常情况下,SQL命令缓冲区已为当前缓冲区。 由于SQL命令缓冲区只能存放一条SQL命令, 所以可用其它缓冲区来存放SQL命令和SQL*PLUS命令。 经常用到的设置可放在login.sql文件中。 SET NULL set null no data select ename,comm from emp where deptno=30; 把部门30中无佣金雇员的佣金显示为“NO DATA”。 set null是SQL*PLU

20、S命令,用它来标识空值(NULL),可以设置为任意字符串。 存盘命令SAVE save 文件名 input 1 select empno,ename,job 2 from emp 3 where job=analyst save research 目录中会增加一个research.sql文件。 编辑命令EDIT edit EDIT编辑当前缓冲区中的内容。 编辑一个文件 edit research 调入命令GET get research 把磁盘上的文件内容调入缓冲区,并显示在屏幕上,文件名尾不必加.sql。 START命令 运行指定的文件 start research 输出命令SPOOL sp

21、ool tryfile 不仅可以使查询结果在屏幕上显示,还可以使结果存入文件 停止向文件输出 spool off 把查询结果在打印机上输出,先把它们存入一个文件中, 然后不必使用SPOOL OFF,而用: spool out SPOOL OUT关闭该文件并在系统缺省的打印机上输出 制作报表举例 edit tryfile set echo off set autocommit on set pagesize 25 insert into emp (empno,ename,hiredate) values(9999,geiger,sysdate); insert into emp (empno,e

22、name,deptno) values(3333,samson,20); spool new_emp select * from emp where deptno=20 or deptno is null / spool off set autocommit off 用start命令执行这个文件 - 6 函数 字符型函数 initcap(ename);将ename中每个词的第一个字母改为大写。 如:jack smith-Jack Smith length(ename);计算字符串的长度。 substr(job,1,4); 其它 lower upper least 取出字符串列表中按字母排序排在

23、最前面的一个串 greatest 取出字符串列表中按字母排序排在最后的一个串 日期函数 add_month(hiredate,5) 在雇佣时间上加5个月 month_between(sysdate,hiredate) 计算雇佣时间与系统时间之间相差的月数 next_day(hiredate,FRIDAY) 计算受雇日期之后的第一个星期五的日期 例 select ename,sal,next_day(sysdate,FRIDAY) as_of from emp where deptno=20; (as_of是别名) 如果不用to_char函数,日期在ORACLE中的缺省格式是DD_MON_YY

24、to_char(date,date picture) select ename,to_char(hiredate,Dy Mon dd,yyyy) hired from emp where deptno=10; to_date(字符串,格式) insert into emp(empno,ename,hiredate) values(7999,asms,to_date(070387083000,MMDDYYHHMISS); 日期型数据的格式 dd 12 dy fri day friday ddspth twelfth mm 03 mon mar month march yy 87 yyyy 198

25、7 例 Mar 12,1987 Mon dd,yyyy MAR 12,1987 MON dd,yyyy Thursday MARCH 12 Day MONTH dd Mar 12 11:00am Mon dd hh:miam Thu,the twelfth Dy,theddspth 算术函数 least(v1,v2) select ename,empno,mgr,least(empno,mgr) lownum from emp where empno0 trunc(sal,0) 取sal的近似值(截断) 空值函数 nvl(v1,v2) v1为列名,如果v1不是空值,nvl返回其列值。 v1为空

26、值,返回v2的值。 聚组函数 select sum(comm) from emp; (返回一个汇总信息) 不能把sum用在select语句里除非用group by 字符型、日期型、数字型的聚组函数 min max count可用于任何数据类型 select min(ename) from emp; select min(hiredate) from emp; select min(sal) from emp; 有多少人有工作? select count(job) from emp; 有多少种不同的工种? select count(distinct job) from emp; count distinct 计算某一字段中不同的值的个数 其它聚组函数(只用于数字型数据) avg 计算平均工资 select avg(sal) from emp; stddev

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2