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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

sql语句的编程手册.docx

1、sql语句的编程手册sql语句的编程手册SQL命令 以下17个是作为语句开头的关键字: alterdroprevoke auditgrantrollback* commit*insertselect commentlockupdate createnoauditvalidate deleterename 这些命令必须以“;”结尾 带*命令句尾不必加分号,并且不存入SQL缓存区。 SQL中没有的SQL*PLUS命令 这些命令不存入SQL缓存区 definepause #delquit $describeremark /disconnectrun acceptdocumentsave append

2、editset breakexitshow btitlegetspool changehelpsqlplus clearhoststart columninputtiming computelistttitle connectnewpageundefine copy - 2数据库查询 数据字典 TAB用户创建的所有基表、视图和同义词清单 DTAB构成数据字典的所有表 COL用户创建的基表的所有列定义的清单 CATALOG用户可存取的所有基表清单 select*fromtab; describe命令描述基表的结构信息 describedept select* fromemp; selectemp

3、no,ename,job fromemp; select*fromdept orderbydeptnodesc; 逻辑运算符 =!=或=.05*sal orderbycomm/saldesc; 日期型数据的运算 addtwodaysto6-Mar-87 6-Mar-87+2=8-Mar-87 addtwohoursto6-Mar-87 6-Mar-87+2/24=6-Mar-87and2hrs add15secondsto6-Mar-87 6-Mar-87+15/(24*60*60)=6-Mar-87and15secs 列名的别名 selectenameemployeefromemp wher

4、edeptno=10; (别名:employee) selectename,sal,comm,comm/salC/SRATIOfromemp wherecomm.05*sal orderbycomm/saldesc; SQL命令的编辑 listorl显示缓冲区的内容 list4显示当前SQL命令的第4行,并把第4行作为当前行,在该行号后面有个*。 changeorc用新的内容替换原来在一行中第一次出现内容 SQLc/(.)/(analyst)/ inputori增加一行或多行 appendora在一行后追加内容 del删除当前行删除SQL缓冲区中的当前行 run显示并运行SQL缓冲区中的命令

5、/运行SQL缓冲区中的命令 edit把SQL缓冲区中的命令写到操作系统下的文本文件, 并调用操作系统提供的编辑器执行修改。 - 3数据操纵 数据的插入 insertintodept values(10,accounting,newyork); insertintodept(dname,deptno) values(accounting,10); 从其它表中选择插入数据 insertintoemp(empno,ename,deptno) selectid,name,department fromold_emp wheredepartmentin(10,20,30,40); 使用参数 insert

6、intodept values(&deptno,&dname,&loc); 执行时,SQL/PLUS对每个参数将有提示用户输入 参数对应日期型或字符型数据时,可在参数上加引号,输入时就可不用引号 insertintodept values(&deptno,&dname,&loc); 插入空值(NULL) insertintodept values(50,education,null); 插入日期型数据 日期型数据缺省格式:DD-MON-YY insertintoemp (empno,ename,hiredate) values(7963,stone,07-APR-87); 系统时间:SYSDA

7、TE insertintoemp (empno,ename,hiredate) values(7600,kohn,SYSDATE); 数据更新 updateemp setjob=manager whereename=martin; updateemp setjob=marketrep whereename=salesman; updateemp setdeptno=40,job=marketrep wherejob=salesman; 数据删除 deleteemp whereempno=765; 更新的提交 commit 自动提交方式 setautocommiton 如果状态设为开,则使用in

8、esrt,update,delete会立即提交。 更新取消 rollback 两次连续成功的commit之间的操作,称为一个事务 - 4创建基表、视图 创建基表 createtabledept (deptnonumber(2), dnamechar(14), locchar(13); 数据字典会自动更新。 一个基表最多254列。 表名列名命名规则: 限制 第一个字符必须是字母,后面可任意(包括$#_但不能是逗号)。 名字不得超过30个字符。 唯一 某一用户的基表名必须唯一,不能是ORACLE的保留字,同一基表的列名互不相同。 使用双引号 如果表名用双引号括起来,则可不满足上述规则; 只有使用双

9、引号,才能区别大、小写; 命名时使用了双引号,在以后的操作也必须使用双引号。 数据类型: char(n)(不得超过240字符) number(n,d) date long(最多65536字符) raw(二进制原始数据) 空值处理 有时要求列值不能为空 createtabledept (deptnonumber(2)notnull, dnamechar(14), locchar(13); 在基表中增加一列 altertabledept add(headcntnumber(3); 修改已有列属性 altertabledept modifydnamechar(20); 注:只有当某列所有值都为空时,

10、才能减小其列值宽度。 只有当某列所有值都为空时,才能改变其列值类型。 只有当某列所有值都为不空时,才能定义该列为notnull。 例: altertabledeptmodify(locchar(12); altertabledeptmodifylocchar(12); altertabledeptmodify(dnamechar(13),locchar(12); 创建视图 createviewmanagersas selectename,job,sal fromemp wherejob=manager; 为视图列名取别名 createviewmydept (person,title,salar

11、y) asselectename,job,sal fromemp wheredeptno=10; withcheckoption选项 使用withcheckoption,保证当对视图插入或更新数据时, 该数据必须满足视图定义中select命令所指定的条件。 createviewdept20as selectename,job,sal,deptno fromemp wheredeptno=20 withcheckoption; 在做下述操作时,会发生错误 updatedept20 setdeptno=30 whereename=ward; 基表、视图的拷贝 createtableemp2 ass

12、elect*fromemp; 基表、视图的删除 droptable表名 dropview视图名 - 5SQL*PLUS报表功能 SQL*PLUS的一些基本格式命令 columndeptnoheadingdepartment columnenameheadingname columnsalheadingsalary columnsalformat$99,999.00 ttitlesamplereportfor|hitechcorp btitlestrictlyconfidential breakondeptno computesumofsalondeptno run 表头和表尾 ttitlesa

13、mplereportfor|hitechcorp btitlerightstrictlyconfidential “|”表示换行,结尾不必加分号 选项有三种:leftrightcenter 使用TTITLE,系统将自动地在每页的顶部显示日期和页号。 TTITLET和BTITLE命令有效,直至重新设置表头或表尾,或退出SQL*PLUS。 下面命令使标题语句失效 TTITLEOFF BTITLEOFF 列名 column命令定义用于显示列名 若名字为一个单词,不必加引号 columnenameheadingemployee columnenameheadingemployee|name (|为换行

14、) 取消栏定义 columnenameclear 列的格式 columnenameformatA15 columnsalformat$9,999.99 columncommlikesal like子句,使得某一列的格式参照另一列格式,它拷贝列名及其格式 控制记录显示分组顺序 breakondeptno (不显示重复值) selectdeptno,ename fromemp orderbydeptno; (ORDERBY子句用于控制BREAK) 显示为 10clark niller 20smith scott 30allen blake 每次只有一个BREAK命令起作用,但一次可以在多个列上使用

15、BREAK命令 breakon列名1on列名2 记录分组 breakondeptnoskip2 selectdeptno,ename fromemp orderbydeptno; 每个deptno之间空两行 clearbreak(取消BREAK命令) breakonpage(每次从一新页开始) breakonreport(每次从一新报表开始) breakonpageonreport(联合使用) 分组计算 breakondeptnoskip2 computesumofsalondeptno 计算每个部门的工资总和 skip子句使部门之间的信息分隔开 其他计算命令 computeavgofsalo

16、ndeptno(平均值) count非空值的总数 MAX最大值 MIN最小值 STD标准偏差 VAR协方差 NUMBER行数 使compute命令失效 一旦定义了COMPUTE,则一直有效,直到 关闭COMPUTE(clearcompute) SQL/PLUS环境命令 show选项 (显示当前参数设置情况) showall(显示全部参数) 设置参数 set选项值或开关 setautocommiton SET命令包括 setautocommitoff|on|immediate (自动提交,OFF缺省) setechooff|on (命令文件执行,是否在终端上显示命令本身,OFF缺省) setfe

17、edbackoff|on (ON:查询结束时,给出结果,记录数的信息,缺省; OFF:无查询结果,记录数的信息) setheadingoff|on (ON:列的头标在报表上显示,缺省;OFF:不在报表上显示) setlinesizen 一行显示的最大字符数,缺省为80 setpagesizen 每页的行数,缺省是14 setpauseoff|on|text (ON:当报表超过一页时,每显示一屏就暂停显示,等待用户打回车键,再接着显示; OFF:页与页不停顿,缺省;text:页与页停顿,并向用户提示信息) SETBUFFERbuffer 设置当头的命令缓冲区,通常情况下,SQL命令缓冲区已为当前

18、缓冲区。 由于SQL命令缓冲区只能存放一条SQL命令, 所以可用其它缓冲区来存放SQL命令和SQL*PLUS命令。 经常用到的设置可放在login.sql文件中。 SETNULL setnullnodata selectename,comm fromemp wheredeptno=30; 把部门30中无佣金雇员的佣金显示为“NODATA”。 setnull是SQL*PLUS命令,用它来标识空值(NULL),可以设置为任意字符串。 存盘命令SAVE save文件名 input 1selectempno,ename,job 2fromemp 3wherejob=analyst saveresear

19、ch 目录中会增加一个research.sql文件。 编辑命令EDIT edit EDIT编辑当前缓冲区中的内容。 编辑一个文件 editresearch 调入命令GET getresearch 把磁盘上的文件内容调入缓冲区,并显示在屏幕上,文件名尾不必加.sql。 START命令 运行指定的文件 startresearch 输出命令SPOOL spooltryfile 不仅可以使查询结果在屏幕上显示,还可以使结果存入文件 停止向文件输出 spooloff 把查询结果在打印机上输出,先把它们存入一个文件中, 然后不必使用SPOOLOFF,而用: spoolout SPOOLOUT关闭该文件并在

20、系统缺省的打印机上输出 制作报表举例 edittryfile setechooff setautocommiton setpagesize25 insertintoemp(empno,ename,hiredate) values(9999,geiger,sysdate); insertintoemp(empno,ename,deptno) values(3333,samson,20); spoolnew_emp select*fromemp wheredeptno=20 ordeptnoisnull / spooloff setautocommitoff 用start命令执行这个文件 - 6函

21、数 字符型函数 initcap(ename);将ename中每个词的第一个字母改为大写。 如:jacksmith-JackSmith length(ename);计算字符串的长度。 substr(job,1,4); 其它 lower upper least取出字符串列表中按字母排序排在最前面的一个串 greatest取出字符串列表中按字母排序排在最后的一个串 日期函数 add_month(hiredate,5)在雇佣时间上加5个月 month_between(sysdate,hiredate)计算雇佣时间与系统时间之间相差的月数 next_day(hiredate,FRIDAY)计算受雇日期之

22、后的第一个星期五的日期 例 selectename,sal,next_day(sysdate,FRIDAY)as_of fromemp wheredeptno=20; (as_of是别名) 如果不用to_char函数,日期在ORACLE中的缺省格式是DD_MON_YY to_char(date,datepicture) selectename,to_char(hiredate,DyMondd,yyyy)hired fromemp wheredeptno=10; to_date(字符串,格式) insertintoemp(empno,ename,hiredate) values(7999,asms,to_date(070387083000,MMDDYYHHMISS); 日期型数据的格式 dd12 dyfri dayfriday ddspthtwelfth mm03 monmar monthmarch yy87 yyyy1987 例 Mar12,1987Mondd,yyyy

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1