oracle数据库学习笔记_第1页
oracle数据库学习笔记_第2页
oracle数据库学习笔记_第3页
oracle数据库学习笔记_第4页
oracle数据库学习笔记_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 在开发环境中连接到数据库,进行基本的select查询操作;2、 熟悉plsql的使用;3、 熟悉sqlplus相关命令(登录、查询、导入导出等)登录sqlplus:第一:使用dos窗口登录sqlplusSqlplus用户名/密码@数据库实例名Sqlplussystem/密码@数据库实例名assysdba第二:使用oracle自带的一个sqlplus登录,提供界面,显得更简单一些。显示当前用户名:showuser;创建一个用户:createuser用户名identifiedby密码;给用户赋予登录的权限:grantconnectto用户名;(此时才可以使用这个用户来登录这个数据库。)给其赋予dba的权限。修改用户的密码:alteruser用户名identifiedby新密码;查询:Select*fromt_user;Selectidfromt_user;Selectnamefromt_user;Selectbirthdayfromt_user;Selectid,namefromt_user;导入导出:导出表:(注意,导出表的exp命令不是在sqlplus下使用的,是在dos窗口下使用的命令。)expuserid=test/sa@testtables=(qx)file=d:\e1223.dmpexpuserid=test/sa@testtables=(t_user,qx)file=f:\test.dmp导出方案:Expuserid=test/sa@testowner=testfile=f:\test2.dmp导出数据库:Expuserid=test/sa@testfull=yinctype=completefile=f:\all.dmp导入表:下面以一个例子来说明:看下面的图,我的用户名test,密码sa,数据库实例名test,所有的表都在这里-白Tal-les,•gECRPAETS,•EELECTED^5Eex-房TJJSEE厂f现在我执行导出表JD的操作:expuserid=test/sa@testtables=(jd)file=f:\jd.dmp在我的f盘下就出现了这么一个.dmp文件1*1IUIIJ^UILM'bUI1*1IUIIJ^UILM'bUIU乂th57K0jd.dmpCrashDumpFileaII.jd.dmpCrashDumpFileCrashDumpFile7,300KB现在我删除test数据库中的jd文件-…;Tibiesn至ECRPARTS至elect™EQK现在表JD已经从数据库中删除了现在表JD已经从数据库中删除了下面我执行表jd的导入操作(就是把表JD导入到我们的test数据库实例中去):impuserid=test/sa@testtables=(jd)file=f:\jd.dmp然后重新刷新我们的数据库中的表,看到jd表被导入进来了。Ok。labile,gECEPAETS*翌ELECTROH*至皿+ggT_UEER+IViews导入方案:4、数据较复杂的查询(关联查询、多表查询、子表查询等)新建的两张表(包括已经插入的数据):dept和emp如下:

1,弗三3销售部1Egg■-4市场部叵I李强55财募部佰T无名氏.•…区1季强1,弗三3销售部1Egg■-4市场部叵I李强55财募部佰T无名氏.•…区1季强6踪合部••:三楼西-2建筑-厂不如道■-7李四8翠篷项开发2何强4财务5匝6法笛计:或E:>工程部 …:一楼西■-L0郭丽可足迹豆[成兵魅本-;SQL窗口2星诲tableEMPOEMP的数癌回L输出统计表11►矿3456*1235&78910111213多表查询:外连接查询:例子,查询员工表,显示员工姓名,部门名称,部门位置,即使该员工还没有部门。此时使用内连接查询时不可以的,所有使用左连接查询(查询左边表中所有的数据,无论其在右表中是否相对应的数据)selecta.empname,b.deptname,b.deptlocfromempaleftouterjoindeptbona.deptno=b.deptno右连接查询:(查询右边表中的所有的数据,无论其在左边表中是否有相对应的数据)查询所有的部门,显示部门名称,部门人员信息(姓名,工作)无论该部门是否有人员。现在我们新建一个部门(无名氏),该部门没有任何的人员。查询语句如下selecta.deptname,b.empname,b.jobfromempbrightouterjoindeptaona.deptno=b.deptno全连接(左右连接)查询两个表中所有的记录selecta.deptname,b.empname,b.jobfromempbfullouterjoindeptaona.deptno=b.deptno上面的左右连接也可以使用+来代替,如下的查询selecta.empname,b.deptnamefromempa,deptbwhereb.deptno=a.deptno(+)和selecta.empname,b.deptnamefromempa,deptbwhereb.deptno(+)=a.deptn。分别表示查询所有部门和所有人,无论该部门是否有人,或者某个人时候是某个部门的。当然,使用+不能表示full的情况。

Union的使用(查询结果的联合):Union将多个结果集联合在一起,去除重复的记录。Unionall将多个结果集联合在一起,不去除重复的记录。例子:我数据库中的数据如下图,emp表和dept表SQL窗口-查询tableOEPT<&EMP的敏jfi竺SQL窗口-查询taWeAM唾EMP的数整SSL输出统计表SQL 勃出纬计衰jselect.*:£tmd&p+t£elect*froaiempta-© 挪啥EMFNEEMFME :DEFTEO JUB1234567四魂刚丽泡一芋李李郭足-78_yOEMFNEEMFME :DEFTEO JUB1234567四魂刚丽泡一芋李李郭足-78_yO4113i5&ZDEFTBODEFTWEDEFTLJOC111研爰部••一楼东-:2密工程部 ■-…樱西-'33销售割—楼东-■4.■i市场部 -二楼西-.55财荟部 …三楼东-6&绿书三楼西…7T无名氏部门…R楼 -开军打1开军打药何强112W-5开发…1213'羌名氐-不止1311李强-5升岌3大海selectempno,empnamefromempwheredeptno=1unionselectdeptno,deptnamefromdept查询结果如下:

U|29:10 U|29:10 10行被选择•耕时O.OQZfeEMPWOEMPITAMEA1121研岌:部 ■■■-32何程 ■■■42工程部5■3大海 …63电肖售部74市场部 ■■■65W&综合部107Z?C-fczi任L吾151 …关于union和unionall,后者不会去除重复的记录,看下面两段plsql代码和运行的结果便知。select*fromempwheredeptno=1unionallselect*fromempwherejob='开发'运行结果:登SQL蔚口-selecta.^mpnOfa.empnam^a.jGbfroS3L输出统计表jseLect+£tmemp・her吧mu.oni科~11IseLec-t*£t<merripwherejo"t«='开戋71*E1FB0EMFiTAMEEEFTO►11张三-1.g:T何掩1军X- •’•'5-■3大海-1打哈哈,,,41施 二1开授F5博李强56.11李强-5开发-select*fromempwheredeptno=1unionselect*fromempwherejob='开发'运行结果:哈昭31开发]5哈昭31开发]5异发IEMPNO►1DEPTND[0B1T5n.Oracle中实现类似t-sql中selecttopn..的方法是oracle的内置函数rownum(返回行的序列号):n.例子:假设我的表emp如下所示EMIBCiEMEEMIBCiEME脚EDEriHDJ0D[sal17李四3y:ELTita■■-1史8李强■■-4财务■■-139季刚…5研发…,4.10郭丽…6注律••15-4足迹…£套计1&•5成兵…金建筑…17B郭晓2不知道•181.张三1开发■■-1'9£何强■■■1军人■-1103大海打昭咕■■-111L2季强51V2:'13无名氐…不止■■-113,11-李强5+F发 ■■-■查询每个部门中的销售总和:selectdeptno,sum(sal)fromempgroupbydeptno查询每个部门中的销售总和的前两位:select*from(selectdeptno,sum(sal)fromempgroupbydeptnoorderbysum(sal)des

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论