Oracle
文章平均质量分 84
Mr羽墨青衫
专注
展开
-
Oracle基本操作
用到了scott和hr用户。在命令行输入sqlplus hr/hr可以登录hr用户,其中用户名为hr,密码为hr。学习目的:作为一个Java工程师,应该掌握的数据库的知识。第四天是DBA的知识。 基本查询:(1)进入到sqlplusscott/tiger。--spool可以将输入的所有命令保存到硬盘。spool c:\基本操作.txt--清屏host c原创 2013-11-06 11:53:14 · 1004 阅读 · 0 评论 -
Oracle:光标(游标)
语法:CURSOR 光标名 [(参数名 数据类型[ 参数名 数据类型]…)] IS SELECT 语句;光标用于存储一个查询返回的多行数据。 例如:Cursor c1 is select ename from emp; //c1这个光标代表了所有员工姓名的集合光标使用之前需要open,Open c1; //打开光标执行查询。 使用fetch从光标中取值。光标在结原创 2013-11-07 23:14:13 · 1285 阅读 · 0 评论 -
Oracle:PL/SQL基本语法
使用Oracle SQL Developer新建连接:配置Mysql连接名随便写,用户名:scott密码:tiger如果是超级用户,角色选择sysdba主机名,如果是本机(推荐)就是localhost,如果是其他电脑,就写其他电脑的IP。(虚拟机最好选择桥接网卡)端口1521以后工作的时候数据库服务器都是单独的电脑,配置好以后测试连接,如何知道Oracle的原创 2013-11-07 23:12:34 · 2607 阅读 · 0 评论 -
Oracle:触发器
触发器也是一个数据库对象。数据库的触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列。查询语句是没有触发器的。 --第一个例子:当成功插入一个新员工后,自动打印“成功插入一个新员工”--关键词是triggerCreate or replace原创 2013-11-07 23:24:59 · 875 阅读 · 0 评论 -
Oracle:例外exception
什么是例外呢?是程序设计语言提供的一种功能,用来增强程序的健壮性和容错性。Java中的例外:Try{}catch(exception1 e1){}catch(exception2 e2){}finally{}Java的exception处理是向上处理机制,页脚父类处理机制。下面的那一行调用上面的那一行。比如在这个方法中没有处理这个异常,那么就向上抛,上面的方法也没有处理,就原创 2013-11-07 23:14:56 · 936 阅读 · 0 评论 -
Oracle:数据字典
什么是数据字典?数据字典反应的是数据库本身的信息,跟业务数据没有任何的关系。跟员工,部门等没有任何关系。基本上跟元数据是一个意思。其实数据字典就是表,只不过这些表中存放的是数据库的信息。Oracle中的表又两种,一种是用户表,一种叫做基本表。用户表就是由用户创建,由用户维护的表。如员工表,部门表。基本表反映的是数据库本身的信息,跟员工部门没有任何关系,这种表就叫做数据字典。原创 2013-11-07 23:22:54 · 874 阅读 · 0 评论 -
Oracle散记
安装完成后,在XP虚拟机中打开DOS命令行,输入sqlplus来进入oracle。用户为scott密码为tiger。然后我们就进入oracle的服务器了。RDBMS,关系型数据库管理系统。一个Oracle服务器由一个Oracle数据库和一个或多个Oracle实例组成。数据库和实例是一对多的关系。 为什么数据库和实例是一对多的关系呢?什么叫做数据库,什么叫做实例呢?数据库可以理解原创 2013-11-06 11:51:25 · 755 阅读 · 0 评论 -
Oracle数据库优化
SQL优化:1,如果* 和列名都可以满足查询要求,要用列名代替*。(在Oracle 9i之前可以认为列名比*好,在9i和9i之后Oracle做了一个优化,可以认为*和列名的方式是一样的)因为:对于不同的表,*代表的列不一样,那么我们就需要去解析一下针对这张表,这个*代表的是哪些列,解析的过程就要耗费时间。2,where condition1 and condition2和w原创 2013-11-06 11:49:13 · 804 阅读 · 0 评论 -
Oracle:其他数据库对象
视图,序列,索引,同义词。--创建一个视图:视图是一个从表中抽出的逻辑上的相关的数据集合。Create viewempinfoview as select e.empno,e.ename,e.sal,e.sal*12 annlsal,d.name from empe,dept d where e.deptno=d.deptno;创建视图必须有床创建视图的权限,登录系统用户:Sq原创 2013-11-06 14:05:54 · 635 阅读 · 0 评论 -
Oracle:处理数据
数据的插入,更新,删除。DML(data manipulation language数据操作语言):insertupdate delete selectDDL(data definition language数据定义语言):create/alter/drop/truncate表操作原创 2013-11-06 12:06:04 · 748 阅读 · 0 评论 -
Oracle:集合运算
注意的问题:(1)参与运算的各个集合必须列数相同,且类型一致。(2)采用第一个集合的表头作为最后的表头。(3)如果排序,必须在每个集合后使用相同的orderby。(4)括号的问题,可以使用括号,先执行后面的语句。 --查询部门号是10和20的员工信息--方式一:select* from emp where deptno in (10,20);--方式二:select原创 2013-11-06 12:04:57 · 1273 阅读 · 0 评论 -
Oracle:子查询
例:查询工资比scott高的员工信息,是3000首先得到soctt的工资,select sal from emp where ename=’scott’;在查出比3000高的工资,select * from emp where sal>3000; 什么情况下需要子查询呢?不能一步求解的时候。例如刚才查出比3000高的工资,需要用到前一步的结果。也就是说,将第二步的查询结果作为第原创 2013-11-06 12:04:24 · 945 阅读 · 0 评论 -
Oracle:创建和管理表
表名和列名的命名规则:必须以字母开头必须在1-30个字符之间必须只能包含A-Z,a-z,0-9,_,$,和#必须不能和用户定义的其他对象重名必须不能是Oracle的保留字Oracle默认存储是都存为大写数据库只能是1-8位,datalink可以是128位,和其他一些特殊字符。 创建表:两个条件:有权限有足够的存储空间 创建的时候必须指定:原创 2013-11-06 14:03:16 · 694 阅读 · 0 评论 -
Oracle:多表查询
实际应用中,最重要的就是多表查询。笛卡尔集:多表查询的理论基础,是笛卡尔兄弟发明的。比如,有两张表,第一张表有2行2列,第二张表有4行4列,笛卡尔集产生的行数是2*4=8行,列数就是2+4=6列。但是得出的笛卡尔集并不都是对的。例如第二条数据,黄色部门号跟蓝色部门号不一致,就是错的。我们要选出正确的数据。所以链接条件就是emp.deptno=dept.deptno。原创 2013-11-06 12:03:44 · 944 阅读 · 0 评论 -
Oracle:分组函数
多行函数也叫做分组函数,也叫做组函数,作用于一组数据返回一个结果。例如AVG,COUNT,MAX,MIN,SUM。功能与MySQL一样。 --求工资的总额Select sum(sal) from emp;--求人数Select count(*) from emp;--平均工资,二者结果一样,但是列中有空值,就会有问题。看下面奖金的计算。Select sum(sal)原创 2013-11-06 12:01:59 · 1391 阅读 · 0 评论 -
Oracle:单行函数
在Oracle文档中,我们可以查看Oracle资料,在Books下的sql中,有所有的sql。关于sql要看sql reference。函数分为单行函数,多行函数,与我们数学上的定义差不多,要有0个或多个输入,1个或多个输出,可以没有输入,但是必须要有输出。什么是单行函数?它只对一行进行变换,产生一个输出,比如求字符串的长度,滤空函数等。如果对多行进行变换长生一个输出,就是多行函数原创 2013-11-06 11:59:51 · 937 阅读 · 0 评论 -
Oracle:过滤和排序数据
--查询部门号是10的员工Select * from emp where deptno=10;--日期格式敏感,查询入职日期为17-11月-81的员工,可以查询出结果Select * from emp where hiredate=’17-11月-81’--如果查询1981-11-17,会报错,报文字与格式字符串不匹配/*--默认日期格式:DD-MON-RR,这个格式是Or原创 2013-11-06 11:55:01 · 1197 阅读 · 0 评论 -
Oracle:存储过程,存储函数
什么是存储过程和存储函数:指存储在数据库中供所有用户程序调用的子程序叫做存储过程、存储函数。这个子程序是用PL/SQL写的。可以用Java程序调用,就是完成特定功能的子程序。用create procedure命令创建存储过程。语法:Create [or replace] procedure 过程名(参数列表) asPLSQL子程序体;As相当于declare,所以我们可以在as原创 2013-11-07 23:19:36 · 1554 阅读 · 0 评论