oracle基本操作

上传人:熏** 文档编号:243147672 上传时间:2024-09-16 格式:PPT 页数:30 大小:289.50KB
返回 下载 相关 举报
oracle基本操作_第1页
第1页 / 共30页
oracle基本操作_第2页
第2页 / 共30页
oracle基本操作_第3页
第3页 / 共30页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,用,SQL,语言访问,oracle,数据库,Oracle,数据库如何存储数据,数据库是存储、管理数据的软件系统。数据库中数据的存储不能杂乱无章,而应该有组织。而如果数据杂乱无章,将无法使用,无法管理。,Oracle,数据库表、行(也称为记录)、列(也称为字段或属性)等来组织和存储数据。,Oracle,数据库如何存储数据,一个,oracle,数据库由多个表组成,每个表又由多个列组成。数据库、表、列都有自己的名称。列除了有名称外,还有数据类型和长度等属性。如果一个列的数据类型是数值型,就不能给它输入字符型的数据。,一个,oracle,的软件可以同时管理多个数据库,而每个数据库里面又可以包括很多数据库对象(表,用户,索引等等),试验环境,Windows,xp,Oracle,10g,启动两个服务,查看一下文件结构,在安装的过程中生成了一个数据库,数据库起名为,sei,SQL*PLUS,在,oracle,数据库中,执行,SQL,语句的主要工具是,SQL *PLUS,。,SQL *PLUS,是,oracle,公司为执行,SQL,语句以及编写、处理,PL/SQL,语言程序而提供的一种开发环境。,在,SQL *PLUS,中,,SQL,语句不区分大小写。只是在检查或比较字母值时,才区分大小写。,SQL *PLUS,中每条,SQL,语句都以分号作为结束。,两个不同的,SQL *PLUS,选择开始菜单,第一种方式,从开始菜单 程序,/oracle-orahome92/Application Development /,sqlplus,输入用户名,system,和密码,sei,进入,SQL *PLUS,。,输入,SELECT name from,v$database,查看当前数据库名。,输入,show user,查看当前用户,第二种方式,开始菜单,/,运行 敲入,cmd,打开命令窗口,输入,sqlplus,/,nolog,出现,SQL,提示符,输入用户名,system,和密码,sei,进入,SQL *PLUS,。,输入,SELECT name from,v$database,查看当前数据库名。,输入,show user,查看当前用户,关于用户,一个用户就是可以连接到数据库的一个帐号,当然为了安全起见每个帐号都会有一个密码。,Oracle,中有两个系统帐号,,system,和,sys,,他们的密码是在安装,oracle,软件的时候设置好的。我们这里设置的都是,sei.,使用,SQL*PLUS,的几个基本技巧:,SQL *PLUS,的格式化输出,column,columnname,format A40;,格式化字符型的列占,40,列,column,columnname,format 999,999,999,格式化数字型的列以每,3,位逗号隔开的方式显示。,估算某个,sql,语句的执行代价:,set timing on/off,设置是否显示,SQL,语句的执行时间,SET HEADING ON/OFF,设置是否显示标题,设置,SET AUTOCOMMIT ON/OFF,是否自动提交,事务处理和回退的概念,事务处理是用户定义的一系列数据库操作,这些操作作为一个完整的工作单元,要么全部执行,要么全部不执行。至于哪些操作必须同时执行,这由用户考虑,称为事务处理设计。,Commit,提交,Rollback,回退,关于,SQL * PLUS,中的自动提交,如果,SQL*PLUS,是正常关闭的,即,SQLEXIT,退出,那么即使,AUTOCOMMIT,为,OFF,也会自动提交,如果,SQL * PLUS,是非正常关闭,即是点击窗口的,X,来关闭的,那么还没有提交的语句不会自动提交。,SQL*,PlUS,操作初步,1,、连接,SQL*Plus system/manager,2,、显示当前连接用户,SQL show user,3,、查看系统拥有哪些用户,SQL select * from,all_users,; 4,、新建用户并授权,SQL create user a identified by a;,(默认建在,SYSTEM,表空间下),SQL grant,connect,resource,to a;,5,、连接到新用户,SQL,conn,a/a,6,、查询当前用户下所有对象,SQL select * from tab;,7,、建立第一个表,SQL create table,a(a,number);,SQL*,PlUS,操作初步(,cont.,),8,、查询表结构,SQL,desc,a,9,、插入新记录,SQL insert into a values(1);,10,、查询记录,SQL select * from a;,11,、更改记录,SQL update a set a=2;,12,、删除记录,SQL delete from a;,13,、回滚,SQL roll; SQL rollback;,14,、提交,SQL commit,在,SQL*,PlUS,中调试第二章的练习,分别创建三张表,student,course,和,sc,Create Table Student (,sno,char(10) not null ,sname,char(20),sage,smallint,ssex,char(1),sdept,char(2),primary key (,sno,),check(ssex,in (M,F),创建表,Course,Create Table Course (,cno,char(10) not null ,cname,varchar(20) ,credit,smallint,primary key (,cno,),),创建表,SC,Create Table SC (,sno,char(10) not null ,cno,char(10) not null ,grade,smallint,primary key (,sno,cno,),foreign,key(sno,) references,student(sno,),foreign,key(cno,) references,course(cno,),check(grade,=0 and,grade =100),),在三张表中分别插入一些试验数据,Insert Into Student,Values ( 95001, ,张三,27, M, CS ),练习,针对学生,-,课程体系,作,SQL,查询,列出各系的学生数(人数多的排在前面),找出各科成绩均在,85,分以上(含)的学生的学号、姓名,找出有三门课程的成绩在,75,分以下的学生的学号、姓名,列出数据库成绩的前五名学生的学号、姓名、成绩,Oracle,的一些特殊点,DUAL,表,DUAL,表的拥有者为,SYS,ORACLE,提供的一个小表,它只有一行和一列,在句法必须正确,而数据库中又没有其他表可用于语句时,可使用表,DUAL.,例,,SELECT POWER(4,3) FROM DUAL;,数值型函数,例:,SELECT CEIL (20.6) FROM DUAL;,SELECT FLOOR (20.6) FROM DUAL;,SELECT MOD(7,5) FROM DUAL;,SELECT POWER(4,2) FROM DUAL;,SELECT ROUND(1234.5678) FROM DUAL;,SELECT SIGN(15) FROM DUAL;,SELECT SQRT(49) FROM DUAL;,字符型函数,例:,SELECT,INITCAP(string,) FROM DUAL;,SELECT LOWER (,AbCd,) FROM DUAL;,SELECT REPLACE (,woiteo,o,r,) FROM DUAL;,SELECT SUBSTR (ABCDEF,2,2) FROM DUAL;,SELECT,LENGTH(abcdef,) FROM DUAL;,数据类型转换,TO_CHAR,TO_NUMBER,TO_DATE,一些,oracle,函数,UPPER(),LOWER(),NVL(weight,43),空值置换,Decode(value,if1,then1,if2,then2,if3,then3),SQrt,(),求平方根,Ln,(),自然对数,等等,decode,select,decode(sign,(,变量,1-,变量,2),-1,变量,1,变量,2) from dual; -,取较小值,sign(),函数根据某个值是,0,、正数还是负数,分别返回,0,、,1,、,-1,例如,:,变量,1=10,,变量,2=20,则,sign(,变量,1-,变量,2),返回,-1,,,decode,解码结果为“变量,1”,,达到了取较小值的目的。,外部连接和内部连接,Student,Sc,内连接:既在,student,,又在,sc,中包含的行,外连接,左外连接和右外连接,在那些估计没有匹配行的表后面要跟上一个,外部连接符,外连接用(,+,)表示,Select * from student, sc,where,student.sno,(+)=,sc.sno,左外连接,对于,外连接,:,Oracle,中可以使用“,(+) ”,来表示,,9i,可以使用,LEFT/RIGHT/FULL OUTER JOINLEFT OUTER JOIN,:左外关联,SELECT,e.ename,e.deptno,d.dname,FROM,emp,e LEFT OUTER JOIN dept d ON (,e.deptno,=,d.deptno,);,等价于,SELECT,e.ename,e.deptno,d.dname,FROM,emp,e, dept d WHERE,e.deptno,=,d.deptno,(+),;,结果为:所有员工及对应部门的记录,包括没有对应部门编号,deptno,的员工记录。,右外连接,RIGHT OUTER JOIN,:右外关联,SELECT,e.ename,e.deptno,d.dname,FROM,emp,e RIGHT OUTER JOIN dept d ON (,e.deptno,=,d.deptno,);,等价于,SELECT,e.ename,e.deptno,d.dname,FROM,emp,e, dept d WHERE,e.deptno,(+)=,d.deptno,结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。,全外连接,FULL OUTER JOIN,:全外关联,SELECT,e.ename,e.deptno,d.dname,FROM,emp,e FULL OUTER JOIN dept d ON (,e.deptno,=,d.deptno,);,结果为:所有员工及对应部门的记录,包括没有对应部门编号,department_id,的员工记录和没有任何员工的部门记录。,oracle listener,找不到启动路径,用,Windows,优化大师删过注册表,它会把,Oracle TNS Listener,在注册表中的内容删除,找个别的机器对比一下,在注册表中加上以下相关的内容。,解决办法,如果,你在控制面板,/,管理工具,/,服务中双击打开,OracleOraHome92TNSListener,的服务看到其“可执行文件的路径”一栏为空时的处理方法:,1.,首先运行,regedit.exe,启动注册表编辑器,在,HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/,下的,Services,和,CurrentControlSet003/Services,下找到,OracleOraHome92TNSListener,项,在右边窗口按右键,新建,/,字符串,取名,ImagePath,。,2.,双击新建的键,在“数值数据”项输入,D:oracleora92binTNSLSNR.EXE,(根据你自己的实际情况进行修改),确定完成。,3.,再次在服务中双击打开,OracleOraHome92TNSListener,的服务看到其“可执行文件的路径”一栏已经显示了其正确的值。这时你可以启动监听了。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!