




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,用SQL语言访问oracle数据库,Oracle数据库如何存储数据,数据库是存储、管理数据的软件系统。数据库中数据的存储不能杂乱无章,而应该有组织。而如果数据杂乱无章,将无法使用,无法管理。Oracle数据库表、行(也称为记录)、列(也称为字段或属性)等来组织和存储数据。,Oracle数据库如何存储数据,一个oracle数据库由多个表组成,每个表又由多个列组成。数据库、表、列都有自己的名称。列除了有名称外,还有数据类型和长度等属性。如果一个列的数据类型是数值型,就不能给它输入字符型的数据。一个oracle的软件可以同时管理多个数据库,而每个数据库里面又可以包括很多数据库对象(表,用户,索引等等),试验环境,WindowsxpOracle10g启动两个服务查看一下文件结构在安装的过程中生成了一个数据库,数据库起名为sei,SQL*PLUS,在oracle数据库中,执行SQL语句的主要工具是SQL*PLUS。SQL*PLUS是oracle公司为执行SQL语句以及编写、处理PL/SQL语言程序而提供的一种开发环境。在SQL*PLUS中,SQL语句不区分大小写。只是在检查或比较字母值时,才区分大小写。SQL*PLUS中每条SQL语句都以分号作为结束。,两个不同的SQL*PLUS,选择开始菜单第一种方式从开始菜单程序/oracle-orahome92/ApplicationDevelopment/sqlplus输入用户名system和密码sei进入SQL*PLUS。输入SELECTnamefromv$database查看当前数据库名。输入showuser查看当前用户第二种方式开始菜单/运行敲入cmd打开命令窗口,输入sqlplus/nolog出现SQL提示符输入用户名system和密码sei进入SQL*PLUS。输入SELECTnamefromv$database查看当前数据库名。输入showuser查看当前用户,关于用户,一个用户就是可以连接到数据库的一个帐号,当然为了安全起见每个帐号都会有一个密码。Oracle中有两个系统帐号,system和sys,他们的密码是在安装oracle软件的时候设置好的。我们这里设置的都是sei.,使用SQL*PLUS的几个基本技巧:,SQL*PLUS的格式化输出columncolumnnameformatA40;格式化字符型的列占40列columncolumnnameformat999,999,999格式化数字型的列以每3位逗号隔开的方式显示。估算某个sql语句的执行代价:settimingon/off设置是否显示SQL语句的执行时间SETHEADINGON/OFF设置是否显示标题设置SETAUTOCOMMITON/OFF是否自动提交,事务处理和回退的概念,事务处理是用户定义的一系列数据库操作,这些操作作为一个完整的工作单元,要么全部执行,要么全部不执行。至于哪些操作必须同时执行,这由用户考虑,称为事务处理设计。Commit提交Rollback回退,关于SQL*PLUS中的自动提交,如果SQL*PLUS是正常关闭的,即SQLEXIT退出,那么即使AUTOCOMMIT为OFF,也会自动提交,如果SQL*PLUS是非正常关闭,即是点击窗口的X来关闭的,那么还没有提交的语句不会自动提交。,SQL*PlUS操作初步,1、连接SQL*Plussystem/manager2、显示当前连接用户SQLshowuser3、查看系统拥有哪些用户SQLselect*fromall_users;4、新建用户并授权SQLcreateuseraidentifiedbya;(默认建在SYSTEM表空间下)SQLgrantconnect,resourcetoa;5、连接到新用户SQLconna/a6、查询当前用户下所有对象SQLselect*fromtab;7、建立第一个表SQLcreatetablea(anumber);,SQL*PlUS操作初步(cont.),8、查询表结构SQLdesca9、插入新记录SQLinsertintoavalues(1);10、查询记录SQLselect*froma;11、更改记录SQLupdateaseta=2;12、删除记录SQLdeletefroma;13、回滚SQLroll;SQLrollback;14、提交SQLcommit,在SQL*PlUS中调试第二章的练习,分别创建三张表student,course和scCreateTableStudent(snochar(10)notnull,snamechar(20),sagesmallint,ssexchar(1),sdeptchar(2),primarykey(sno),check(ssexin(M,F),创建表Course,CreateTableCourse(cnochar(10)notnull,cnamevarchar(20),creditsmallint,primarykey(cno),创建表SC,CreateTableSC(snochar(10)notnull,cnochar(10)notnull,gradesmallint,primarykey(sno,cno),foreignkey(sno)referencesstudent(sno),foreignkey(cno)referencescourse(cno),check(grade=0andgrade=100),在三张表中分别插入一些试验数据,InsertIntoStudentValues(95001,张三,27,M,CS),练习,针对学生-课程体系,作SQL查询列出各系的学生数(人数多的排在前面)找出各科成绩均在85分以上(含)的学生的学号、姓名找出有三门课程的成绩在75分以下的学生的学号、姓名列出数据库成绩的前五名学生的学号、姓名、成绩,Oracle的一些特殊点,DUAL表DUAL表的拥有者为SYSORACLE提供的一个小表,它只有一行和一列在句法必须正确,而数据库中又没有其他表可用于语句时,可使用表DUAL.例,SELECTPOWER(4,3)FROMDUAL;,数值型函数,例:SELECTCEIL(20.6)FROMDUAL;SELECTFLOOR(20.6)FROMDUAL;SELECTMOD(7,5)FROMDUAL;SELECTPOWER(4,2)FROMDUAL;SELECTROUND(1234.5678)FROMDUAL;SELECTSIGN(15)FROMDUAL;SELECTSQRT(49)FROMDUAL;,字符型函数,例:SELECTINITCAP(string)FROMDUAL;SELECTLOWER(AbCd)FROMDUAL;SELECTREPLACE(woiteo,o,r)FROMDUAL;SELECTSUBSTR(ABCDEF,2,2)FROMDUAL;SELECTLENGTH(abcdef)FROMDUAL;,数据类型转换,TO_CHARTO_NUMBERTO_DATE,一些oracle函数,UPPER()LOWER()NVL(weight,43)空值置换Decode(value,if1,then1,if2,then2,if3,then3)SQrt()求平方根Ln()自然对数等等,decode,selectdecode(sign(变量1-变量2),-1,变量1,变量2)fromdual;-取较小值sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1例如:变量1=10,变量2=20则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。,外部连接和内部连接,StudentSc内连接:既在student,又在sc中包含的行外连接,左外连接和右外连接在那些估计没有匹配行的表后面要跟上一个外部连接符,外连接用(+)表示,Select*fromstudent,scwherestudent.sno(+)=sc.sno,左外连接,对于外连接:Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULLOUTERJOINLEFTOUTERJOIN:左外关联SELECTe.ename,e.deptno,d.dnameFROMempeLEFTOUTERJOINdeptdON(e.deptno=d.deptno);等价于SELECTe.ename,e.deptno,d.dnameFROMempe,deptdWHEREe.deptno=d.deptno(+);结果为:所有员工及对应部门的记录,包括没有对应部门编号deptno的员工记录。,右外连接,RIGHTOUTERJOIN:右外关联SELECTe.ename,e.deptno,d.dnameFROMempeRIGHTOUTERJOINdeptdON(e.deptno=d.deptno);等价于SELECTe.ename,e.deptno,d.dnameFROMempe,deptdWHEREe.deptno(+)=d.deptno结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。,全外连接,FULLOUTERJOIN:全外关联SELECTe.ename,e.deptno,d.dnameFROMempeFULLOUTERJOINdeptdON(e.deptno=d.deptno);结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。,oraclelistener找不到启动路径,用Windows优化大师删过注册表,它会把OracleTNSListener在注册表中的内容删除,找个别的机器对比一下,在注册表中加上以下相关的内容。,解决办法,如果,你在控制面板/管理工具/服务中双击打开OracleOraHome92TNSListener的服务看到其“可执行文件的路径”一栏为空时的处理方法:1.首先运行regedit.exe启动注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/下的Services和CurrentContr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏草莓大棚管理办法
- 设备运行环境管理办法
- 设计作业安全管理办法
- 设计招标施工管理办法
- 设计资金拨付管理办法
- 评审专家管理办法山西
- 评级标准及其管理办法
- 诸暨物业收费管理办法
- 财政对外捐款管理办法
- 财政街道资金管理办法
- 新生儿呼吸机相关性肺炎的防控
- 儿童篮球教学课件视频
- 道路运输行业员工安全考试试卷及答案
- 注塑公司规章管理制度
- 应急救援技术专业教学标准(中等职业教育)2025修订
- 河南交通投资集团有限公司招聘笔试真题2024
- 呼吸康复讲课
- 互联网女皇AI报告:人工智能趋势报告(双语翻译版本)
- 2025年西藏事业单位招聘考试职业能力倾向测验试卷(民族医药类)
- T/COSHA 12-2022研学旅行安全工作规范
- T/CIE 149-2022霍尔电推进系统点火测试规范
评论
0/150
提交评论