oracle基本操作概要

上传人:今*** 文档编号:107354545 上传时间:2019-10-19 格式:PPT 页数:30 大小:286.50KB
返回 下载 相关 举报
oracle基本操作概要_第1页
第1页 / 共30页
oracle基本操作概要_第2页
第2页 / 共30页
oracle基本操作概要_第3页
第3页 / 共30页
oracle基本操作概要_第4页
第4页 / 共30页
oracle基本操作概要_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《oracle基本操作概要》由会员分享,可在线阅读,更多相关《oracle基本操作概要(30页珍藏版)》请在金锄头文库上搜索。

1、,用SQL语言访问oracle数据库,Oracle数据库如何存储数据,数据库是存储、管理数据的软件系统。数据库中数据的存储不能杂乱无章,而应该有组织。而如果数据杂乱无章,将无法使用,无法管理。Oracle数据库表、行(也称为记录)、列(也称为字段或属性)等来组织和存储数据。,Oracle数据库如何存储数据,一个oracle数据库由多个表组成,每个表又由多个列组成。数据库、表、列都有自己的名称。列除了有名称外,还有数据类型和长度等属性。如果一个列的数据类型是数值型,就不能给它输入字符型的数据。 一个oracle的软件可以同时管理多个数据库,而每个数据库里面又可以包括很多数据库对象(表,用户,索引

2、等等),试验环境,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/A

3、pplication 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查看当前用户,关于用户,一个用户就是可以连接到数据库的一个帐号,当然为了安全起见每个帐号都会有

4、一个密码。 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 AUTOCOM

5、MIT ON/OFF是否自动提交,事务处理和回退的概念,事务处理是用户定义的一系列数据库操作,这些操作作为一个完整的工作单元,要么全部执行,要么全部不执行。至于哪些操作必须同时执行,这由用户考虑,称为事务处理设计。 Commit 提交 Rollback 回退,关于SQL * PLUS中的自动提交,如果SQL*PLUS是正常关闭的,即SQLEXIT退出,那么即使AUTOCOMMIT为OFF,也会自动提交,如果SQL * PLUS是非正常关闭,即是点击窗口的X来关闭的,那么还没有提交的语句不会自动提交。,SQL*PlUS 操作初步,1、连接 SQL*Plus system/manager 2、显示

6、当前连接用户 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、插入新

7、记录 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),

8、 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) refe

9、rences 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 表的

10、拥有者为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

11、) 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,

12、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中包含的行 外连接,左外连接和右外连接 在那些估计没有匹配行的表后面要跟上一个 外部连接符,外连接用(+

13、)表示,Select * from student, sc where student.sno(+)=sc.sno,左外连接,对于外连接: Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN LEFT 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 WHER

14、E 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 结果为:所有员工及对应部门的记录,包括没有任何员工的部门

15、记录。,全外连接,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在注册表中的内容删除,找个别的机器对比一下,在注册表中加上以下相关的内容。,解决办法,如果,你在控制面板/管

16、理工具/服务中双击打开OracleOraHome92TNSListener的服务看到其“可执行文件的路径”一栏为空时的处理方法: 1.首先运行regedit.exe启动注册表编辑器,在 HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/下的Services和CurrentControlSet003/Services下找到OracleOraHome92TNSListener项,在右边窗口按右键,新建/字符串,取名ImagePath。 2. 双击新建的键,在“数值数据”项输入D:oracleora92binTNSLSNR.EXE(根据你自己的实际情况进行修改),确定完成。 3. 再次在服务中双击打开OracleOraHome92TNSListener的服务看到其“可执行文件的路径”一栏已经显示了其正确的值。这时你可以启动监听了。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号