Oracle|Mysql|MongoDB
linwei_1029
这个作者很懒,什么都没留下…
展开
-
Oracle语句优化
1. 选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那个表)原创 2010-02-23 17:49:00 · 436 阅读 · 0 评论 -
Oracle的nvl(a,b)函数说明
<br />eg: select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1<br /> <br /> NVL(a,b)函数 如果a=null,返回b <br /> <br /> <br /> Oracle认为空串就等于NULLOracle中的空字符串基本上是被当成空NULL来处理的,我们可以从下面的得到印证。<br />select nvl('','NULL') from dual 返回'NULL',sele原创 2010-09-05 12:59:00 · 6501 阅读 · 0 评论 -
ORA-00937: 不是单组分组函数
<br />最近写SQL的时候,有遇到过报出 ORA-00937的问题。<br /> <br />解释:<br /> <br /> select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。<br /><br />例如:<br />SQL> <br />1 select deptno,job,avg(sal)<br />2from emp<br />3;<br />ERROR 位于第 1 行:<br />ORA-00937:原创 2010-09-07 11:12:00 · 91492 阅读 · 4 评论 -
SQL查询已经排序好的数据中的前几条
<br />使用 select top 5 * from table order by id 时,报用select语句检索oracle数据库时出现ora-00923:未找到要求的from关键字。<br /> <br />因为该SQL语句是在SQLServer中的使用的,如果是在 Oracle中,需要使用 rownm 这个关键字用来返回 查询的记录条数。<br /> <br />eg: select * from table where rownnm<=5 order by id<br />原创 2010-11-17 09:06:00 · 3918 阅读 · 0 评论 -
Oracle的左连接右连接
数据表的连接有: 1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2、外连接: 包括 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 3、自连接(连接发生在一 张基表内) sql标准语法: sele转载 2011-07-26 09:52:47 · 815 阅读 · 0 评论 -
CLOB字段的插入以及更新操作
1. 插入方法,首先需要先插入一个空的CLOB对象,之后查询出该条对象,并进行更新操作: @Override public void add(Object obj) throws DAOException { Connection conn = null; PreparedStatement pst = null; try { conn = getJdbcTemplat原创 2011-10-20 15:06:19 · 22331 阅读 · 1 评论 -
如何获取新插入Oracle数据库Sequence值的5种方法
Oracle的sequence实现非常灵活,所以也带来一些易用性问题,如何取到新插入记录生成的sequence值与其它数据库有较大差别,下面介绍了5种实现读取新插入记录sequence值的方法。测试用的数据库脚本:view plainSQL> create table T1 2 ( 3 ID NUMBER 4原创 2011-11-25 09:14:04 · 16491 阅读 · 2 评论 -
oracle创建表同义词
环境:同一数据库下,有cmsdev,platformdev俩个用户,创建公用的表同义词。如下图:在cmsdev用户下建立platformdev用户下s_org表的同义词。(以上操作均在cmsdev拥有创建同义词的权限下操作。)原创 2013-01-29 15:54:19 · 1975 阅读 · 0 评论 -
oracle 存储过程记录
给朋友讲解oracle proc的记录:--准备环境--表1CREATE TABLE itemfile( itemcode varchar2(4), itemdesc varchar2(20), p_category varchar2(20), qty_hand number(5), re_level number(5), max_level转载 2013-02-05 15:55:03 · 574 阅读 · 0 评论 -
向数据库添加存储过程
上例子直接说明:--add by linwei 20130219--定时删除验证码信息CREATE OR REPLACE PROCEDURE CLEAR_VALIDATECODE_PRO isBEGIN BEGIN --删除系统时间相隔大于5分钟的相关数据信息 delete from S_VALIDATECODE s where (sysdate - to_date(s.原创 2013-02-19 10:04:13 · 1294 阅读 · 0 评论 -
使用oracle客户端与PLSQL连接ORACLE数据库软件安装过程
1. 下载安装PLSQL软件,以及oracle客户端安装软件instantclient.2. instantclient文件中新建network文件夹,在它下面再新建一个admin文件夹,在admin文件夹中放置tnsnames.ora文件即可,如下图: 3. 打开PLSQL,进入Tools--preferences中,设置oracle home,以及原创 2013-04-10 17:10:51 · 1030 阅读 · 0 评论 -
mysql储存过程以及定时调度清除数据
1。 首先mysql必须使用原创 2014-06-30 14:33:48 · 5763 阅读 · 0 评论 -
ojdbc14.jar包解决65536批量插入不能的问题
使用oracle驱动ojdbc14包进行批量插入时,当遇到65536条数时会遇到插入不能的问题,导致后续插入操作无法完成,解决该问题,需要在代码中进行数据的分组操作,让每次执行的条数不超过65536条,如下为批量插入ORACLE大量数据的例子代码。1。 批量处理公共方法package com.ffcs.icity.common.util;import java.util.Array原创 2014-12-02 10:50:24 · 2093 阅读 · 0 评论 -
MongoDB的安装(单机,副本集,分片)
一。 单机部署启动1. 直接下载相关mongodb_linux安装包,至linux环境下,解压即可。2. 启动mongoDB/data/program/mongo/mongodb-linux-x86_64-2.6.6/bin/mongod --port 8050 --fork --dbpath=/data/program/mongo/data/ --logpath=/data/pro原创 2015-12-18 16:30:52 · 3966 阅读 · 0 评论 -
Mongo中MapReduce的使用例子
eg:{ "_id" : ObjectId("565d7f5356d1fe5c202bb5a7"), "date" : "20150101", "num" : 10 }{ "_id" : ObjectId("565d7f5856d1fe5c202bb5a8"), "date" : "20150102", "num" : 20 }{ "_id" : ObjectId("565dd1435原创 2015-12-18 16:40:46 · 649 阅读 · 0 评论 -
一些简单的mongodb常用命令收集
1. $all 表示通过多个元素来匹配数组2. $slice 指定偏移值,以及希望返回的元素数量 db.user.find(aa,{"common":{"$slice":10}}) 3. db.user.ensureIndex({"name":1}) 添加索引4. db.user.drop() 删除集合5. db.user.remove() 移除集合内数原创 2015-12-18 16:51:05 · 661 阅读 · 0 评论 -
导入导出mysql数据库 语句
<br /> <br />windows系统下导出mysql的数据和表结构:<br />1、在运行里输入cmd进入dos命令窗口<br />2、进入mysql的安装目录下的bin目录下<br />3、输入mysqldump -u root -p -d database > d:/data.sql <br />4、然后输入密码回车即可。 <br />windows系统下导入mysql的数据和表结构:<br />1、进入mysql的 Mysql Command Line Client<br />2、输入原创 2010-08-15 10:34:00 · 1031 阅读 · 0 评论 -
Exl表格的数据如何通过PL/SQL加入到数据库中
<br />1.首先,先打开EXL表格,点击另存为,保存一份 后缀为 .cvs格式的数据表。<br /> <br />2..打开PL/SQL,点击 Tools按钮中的 Text imports...按钮,进入页面<br /> <br />3.选中 data from textfile,导入 刚才选中的 .cvs后缀的文件,就可以导入 数据了<br /> <br />4.之后,选中 Data to Oracle,选中用户以及表,之后如果需要 添加 Sequence主键,可以选中 主键ID,在<br />原创 2010-06-23 09:48:00 · 2808 阅读 · 0 评论 -
SQL操作全集
SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop da原创 2010-03-02 20:21:00 · 470 阅读 · 0 评论 -
ora-01789:query block has incorrect number of result columns 错误
这种问题一般出现在用UNION将若干个select连接到一起,由于select后的列的个数不相等而造成的。 比如select userid from usercustom unionselect userid,loginname from usercustom 正常的使用需要select userid, as ln from usercustom unionselect us原创 2010-03-16 11:25:00 · 15290 阅读 · 2 评论 -
SQL 查找重复记录
CREATE TABLE product( ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL, Pid INT NOT NULL, Pname VARCHAR(50) NOT NULL, Punit CHAR(10) NOT NULL, Pspec VARCHAR(50), PbarCode VARCHAR(20),)INSERT INTO product(P原创 2010-05-14 16:42:00 · 400 阅读 · 0 评论 -
实用SQL語句
1、将一个表中的内容拷贝到另外一个表中insert into testT1(a1,b1,c1) select a,b,c from test;insert into testT select * from test; (前提是兩個表的結構完全相同) insert into notebook(id,title,content)select notebook_sequence.NEXTVAL,firs原创 2010-05-18 11:15:00 · 544 阅读 · 0 评论 -
数据操作语言DML及数据定义语言DDL的区别
数据操作语言DML及数据定义语言DDL的区别 1、数据操作语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。 在DML中,应用程序可以对数据库作插,删,改,排,检等五种操作: (1)插操作:把数据插入到数据库中指定的位置上去,如Append 是在数据库文件的末尾添加记录,而INSERT是在指定记录前原创 2010-05-18 11:30:00 · 856 阅读 · 0 评论 -
ORACLE中的异常处理
1、ORALCE自带一些命名的系统异常,如下:Oracle Exception Name Oracle Error Explanation 中文注释 DUP_VAL_ON_INDEX ORA-00001 You tried to execute an INSERT or UPDATE statement that has created a duplicate value in a field原创 2010-05-17 20:19:00 · 596 阅读 · 0 评论 -
TRUNCATE和DELETE的几点区别
TRUNCATE和DELETE的几点区别 1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。 2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。 3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全原创 2010-05-18 11:32:00 · 444 阅读 · 0 评论 -
ORA-01722 Invalid Number
<br />What causes this error?<br />This problem occurs when an attempt is made to convert a character string into a number, and the string cannot be <br />converted into a valid number. Valid numbers contain the digits '0' thru '9', with possibly one decim原创 2010-05-31 23:45:00 · 5574 阅读 · 0 评论 -
PreparedStatement 查询时无效的列索引
<br />PreparedStatement 查询时无效的列索引 <br />在使用PreparedStatement 仅对oracle数据库进行查询是在 ps.setObject(i, values[i]);总是提示无效的列索引<br />错误代码代码 <br />public List queryForBeans(final String sql, final Object... values) { <br /> Connection connection = null;原创 2010-05-31 23:46:00 · 9661 阅读 · 2 评论 -
如何在Oracle中导入dmp文件
<br />Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 <br /><br />执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, <br />DOS中可以执行时由于 在oracle 8i 中 安装目录/ora81/BIN被设置为全局路径, <br />该目录下有EX原创 2010-08-09 11:11:00 · 42140 阅读 · 3 评论 -
ORA-01659: 无法分配超出 7 的 MINEXTENTS
<br />主要原因是表空间不够,将其设置为自动扩展即可。<br />alter database datafile 'D:/oracle/product/10.2.0/oradata/oracle/perfstat.dbf' autoextend on;<br />或者可以在创建perfstat表空间的时候进行设置:<br />create tablespace perfstat<br />datafile 'D:/oracle/product/10.2.0/oradata/oracle/perfstat原创 2010-08-09 15:14:00 · 7267 阅读 · 0 评论 -
ORA-01033的解决方法
<br />错误编码:ORA-01033: ORACLE initialization or shutdown in progress<br />故障描述:因为移动了数据库文件([NAME].DMP)/日志文件等文件,导致数据库连接出现ORA-01033错误。<br />故障分析:网上有一种常见的说法是该类故障通常是由于移动文件而影响了数据库日志文件出现损坏而导致的无法正常进行IO操作而引起的错误。ORACLE将识别为数据库未装载完成而导致出现如上错误。<br />故障特征:使用命令行sqlplus或PL/原创 2010-08-09 14:47:00 · 1351 阅读 · 0 评论 -
mysql编码转换设置修改
<br />一、mysql> SHOW VARIABLES LIKE 'character_set_%';<br />+--------------------------+----------------------------+<br />| Variable_name | Value |<br />+--------------------------+----------------------------+<br />| character_set_client | latin1 |<br />|原创 2010-08-15 10:31:00 · 1153 阅读 · 0 评论 -
java实现mongo数据库的CRUD操作
1. 下载mongo-java-driver.jar包至项目中。2. package cn.nubia.apps.mongo;public interface DBTemplate { public T fetchList(String tableName); public void insert(String tableName); }3.原创 2015-12-18 17:02:39 · 1336 阅读 · 0 评论