数据库
懒虫一个V
-
展开
-
数据库的索引
<br />1.索引的分类:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。<br /><br />我们把这种内容本身就是一种按照一定规则排列的目录称为“聚集索引”。 <br /><br />我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。 <br />由于聚集索引跟内容的存储顺序相关,因此一个表只能存在一个聚集索引。使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表原创 2010-10-22 21:34:00 · 937 阅读 · 0 评论 -
ORA-12560: TNS: 协议适配器错误的解决方法
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来。 windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。 2.database instance没有起起来。 windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID. 3.注册表问题。 regedit,然后进原创 2011-03-17 19:20:00 · 2506 阅读 · 0 评论 -
sql 中模糊查询转义 escape
当你想查询_,%特殊字符时,请用escape Select ename from emp where ename like ‘%s_%’ escape ‘s ’; 我们并不想查找S后必须有一个字符以上的员工,而是要剔除S,S出现的目的就是转义,将_转义了,这里的_不是通配符,而是实际意义的_。 Select ename from emp where ename like ‘%/_%’ escape ‘/’; 一般我们使用/来转义,以免产生歧异。 1.使用 ESCAPE 关键字定义转义符。 在模式中原创 2011-03-15 18:56:00 · 7267 阅读 · 0 评论 -
sqlplus /nolog
sqlplus /nolog只是登录进了SQLPLUS,此时并没有登录数据库 个参数表示是不用登录(no login)的意思。 而加密码的话,就是登录到你指定的数据库实例里。 如果命令里带tnsname,就是你tnsname里配置的实力,如果灭有带tnsname,就是本地的ORACLWE_SID指定的实例。 已经登录以后再conn中止上一个用户的session,然后新开一个session,这里可以切换到别的用户登录。原创 2011-03-17 11:09:00 · 3488 阅读 · 0 评论 -
jdk与oracle10g中的jdk冲突
之前运行hotspot的,发现jdk不支持泛型,用java -version看了一下版本,原来是1.4版本的,我晕,再到path中看了一下,原来oracle的环境变量全在前面,只要把%JAVA_HOME%/bin;放到前面去就行了,OK搞定,原创 2011-02-23 11:19:00 · 3576 阅读 · 0 评论 -
oracle中char匹配问题
背景: String sql = "select * from atm_user where username=? and password=? "; 一条很普通的sql语句,其中username和password在oracle中是char(20)和char(32) 如果是在mysql中查询是没有问题,关键是在Oracle中查询是,oracle默认在char未插满时用空格补充,一般情况是补充3×n的长度。郁闷了 上网搜到了一些处理方法,仅供参考: 1.属性用TRIM函数处理:TRIM( t.user原创 2011-03-10 20:25:00 · 2694 阅读 · 0 评论 -
connect by prior start with
connect by prior start with 经常会被用到一个表中存在递归关系的时候。比如我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中,而这些部门互相有隶属关系。这个时候你就会用到connect by prior start with。 典型的使用方法就是: select * from table connect by prior cur_id=parent_id start with cur_id=??? 例如: a原创 2011-02-28 10:44:00 · 1274 阅读 · 0 评论 -
oracle中的注释、spool,run,list,append
oracle中注释的写法有两种 第一种: “--”可注释一行 第二种: 注释的开始“/*”,结束用“*/” 可注释多行。 ================================================================= spool c:/oracle_20110225.txt spool out 将sql命令及其结果发送到假脱机文件中去 spool off 保存之前所有的结果到假脱机文件中去,同时关闭spool ========================原创 2011-02-25 21:16:00 · 3500 阅读 · 0 评论 -
oracle set serveroutput on
使用set serveroutput on 命令设置环境变量serveroutput为打开状态,从而使得pl/sql程序能够在SQL*plus和SQL*plus中输出结果原创 2011-02-25 20:42:00 · 2957 阅读 · 0 评论 -
GROUP BY,WHERE,HAVING之间的区别和用法
group by 是用来分组的, having 是对分组之后再来筛选数据的, where就不用说了啊 原因如下: 转载一篇文章 having子句与where有相似之处但也有区别,都是设定条件的语句。 在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)。 简单说来: where子句: select sum(num) as r原创 2011-02-26 11:10:00 · 1186 阅读 · 0 评论 -
ORACLE中方案的概念以及方案与数据库的关系
转载地址:http://hi.baidu.com/ayongs/blog/item/f93f93519a7ac32143a75be1.html 首先先理解方案的概念,然后再理解方案与数据库的关系。 先来看一下他们的定义: A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the data原创 2011-02-25 12:20:00 · 5144 阅读 · 1 评论 -
OEM (Oracle Enterprise Manager)
OEM (Oracle Enterprise Manager) 如题,今天考oracle,有一道题是这样的说OEM是______________。我一看就傻了眼,我日,刚开始学这个,我哪知道啊,答案就在上面,。。原创 2011-02-24 20:19:00 · 896 阅读 · 0 评论 -
Oracle中查询正锁表的用户及释放被锁的表的方法
可在PL/SQL中用如下SQL语句来查询当前数据库中哪些表被锁住了,并且是哪些用户来锁的这些表:SELECT A.OWNER, --OBJECT所属用户 A.OBJECT_NAME, --OBJECT名称(表名) B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.转载 2012-04-12 21:05:00 · 21489 阅读 · 0 评论