数据库
文章平均质量分 75
「已注销」
这个作者很懒,什么都没留下…
展开
-
MongoDB初探-细说聚合
一、简单聚合工具1、countcount是最简单的聚合工具,用于返回集合中文档的数量。2、distinctdistinct和其他数据库的语义是相同的,用于找到给定键的所有不同的值,即去重。二、复杂聚合工具1、groupgroup和SQL中的group by类似,用于分组。group聚合可以使用condition过滤返回的文档,使用完成器f原创 2014-03-23 21:47:41 · 1492 阅读 · 0 评论 -
oracle常用经典SQL查询
常用SQL查询:1、查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizeFrom dba_tablespaces t, dba_data_files dWhere t.tablespace_name = d.tablespace_namegroup by t.tables转载 2013-07-17 22:48:09 · 871 阅读 · 0 评论 -
Oracle CASE WHEN 用法介绍
Oracle CASE WHEN 用法介绍1. CASE WHEN 表达式有两种形式--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '转载 2013-07-19 17:38:43 · 1091 阅读 · 0 评论 -
Oracle GroupBy
Group by的语法Select [filed1,fild2,]聚合函数(filed),[Grouping(filed),][Grouping_id(filed1,filed2,…)]From tablenameWhere condition[Group by {rollup|cube}(filed,filed2)][having condition][order转载 2013-07-16 14:44:06 · 1084 阅读 · 0 评论 -
数据库锁
1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类共享锁(Shared lock)。例1:--------转载 2013-07-02 21:14:33 · 743 阅读 · 0 评论 -
Oracle数据库操作
一,约束操作1:更改约束名称:ALTER TABLE TName RENAME CONSTRAINT oldname TO newname;2:删除约束ALTER TABLE TName DROP CONSTRAINT cname3:停止约束ALTER TABLE TName MODIFY CONSTRAINT cname DISABLE;4:起用约束ALTER T转载 2013-07-09 14:23:30 · 761 阅读 · 0 评论 -
ORA-12518: TNS: 监听程序无法分发客户机连接
在团队成员增多时,经常出现“无法分发客户端连接”等问题。在网上搜索一番后,最终解决了该问题,现将解决方案总结如下,以供参考和以后备用。原因:团队成员增多,原有数据库设置不够用,导致连接plsql和启动tomcat时经常抛出“无法分发客户端连接”的异常。解决方案:第一步:调整process和session值1. 检查process和session是否够用。a)使用plsql连接到转载 2013-07-17 17:46:53 · 5340 阅读 · 0 评论 -
Web安全初探-SQL注入
一、SQL注入SQL注入是一种利用应用程序数据库层出现的安全漏洞的代码注入技术。通常在一些场景容易发生,比如用户输入的内嵌于SQL语句里的转义字符没有被正确的过滤掉或用户输入不是强类型导致异常的执行。SQL注入是注入型漏洞攻击中很常见的一种,注入式漏洞攻击在一种编程语言或脚本语言嵌入到另一种的任何时刻都可能发生。SQL注入是现在常用的应用层注入技术之一。下图是通过扫描工具:WebCruis翻译 2014-03-22 23:38:25 · 3212 阅读 · 0 评论 -
MongoDB初探-细说索引
一、索引操作索引是为了优化查询速度而生,MongoDB的索引和其他关系型数据库,比如MySQL,Oracle等的索引几乎相同,对于它们的索引优化经验同样适用于MongoDB。1、创建索引MongoDB中建立索引是通过ensureIndex操作完成的。下面测试了在使用索引和不使用索引下的性能差别,使用explain函数进行查询性能分析。插入测试数据:不使用索引的查询:原创 2014-03-22 16:12:57 · 3740 阅读 · 0 评论 -
MysqL group by 用法解析
group by 用法解析group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。某个员工信息表结构和数据如下: id name dept salary edlevel hiredate 1 张三 开发部 200原创 2013-03-08 08:43:30 · 31695 阅读 · 2 评论 -
MongoDB初探-创建,更新和删除文档
一、Insert操作Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库中,不进行额外的验证,也不会执行代码,所以不存在注入式攻击的可能。1、单条插入2、批量插入Mong原创 2014-03-15 02:54:31 · 2434 阅读 · 6 评论 -
MongoDB初探-细说查询
一、find操作MongoDB中使用find来进行查询,通过指定find的第一个参数可以实现全部和部分查询。1、查询全部空的查询文档{}会匹配集合的全部内容。如果不指定查询文档,默认就是{}。2、部分查询3、键的筛选键的筛选是查询时只返回自己感兴趣的键值,通过指定find的第二个参数来实现。这样可以节省传输的数据量,又能节省客户端解码文档的时间和内存消耗。原创 2014-03-16 12:06:38 · 2005 阅读 · 1 评论 -
MongoDB初探-介绍与环境搭建
一、简介随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。MongoDB非凡的表现使其在NoSQL中占有重要地位,当然其他的NoSQL数据库,比如CouchDB,Redis,Hbase等也各有千秋。本系列将带领大原创 2014-01-12 08:55:53 · 1584 阅读 · 0 评论 -
MongoDB初探-基本概念与数据类型
一、基本概念1、文档:MongoDB是基于文档(Document)的NoSQL数据库。文档是MongoDB中数据的基本单元,非常类似于关系数据库中的行(比行要复杂)。文档由多个键值对组成,它们具有以下特性:a、文档中的键/值对是有序的(通常文档中键的顺序并不重要)。b、文档中的值不仅可以是双引号里的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。c、文档的键是字符原创 2014-01-13 23:22:50 · 2745 阅读 · 0 评论 -
Birt开发遇到的问题
原文:http://xulianglly.blog.163.com/blog/static/4361742220111020642884/非常实用2011-11-02 00:06:42| 分类: 技术 |字号 订阅这是我自己在学birt的时候做的记录,版本是birt2.5.2,文字功底有限,表达的很不严谨,在这里仅供大家参孝学习:如果在这里找到有用的信息,请留下您的痕迹转载 2013-11-04 17:37:54 · 1828 阅读 · 1 评论 -
MySQL表存储引擎
MySQL的强大之处在于它的插件式存储引擎,我们可以基于表的特点使用不同的存储引擎,从而达到最好的性能。下面我们来认识一下MySQL各表存储引擎的特点:InnoDB存储引擎特点:1,支持事务,主要面向在线事务处理(OLTP)方面的应用。2,行锁设计,支持外键,并支持orcle的非锁定读,即默认情况下读取操作不加锁。3,第三方存储引擎,被orcle收购。4,windows原创 2013-04-30 17:52:59 · 1459 阅读 · 0 评论 -
MySQL参考手册
常用的Mysql语法,不定时更新:1、快速导入导出数据导出用select....into,导入用load data infile,两者配合顶呱呱...SELECT ... INTO & LOAD DATA INFILE2、清空表数据清空表中数据可以使用truncateTRUNCATE语法3、Group_Concat的长度限制默认1024,可修改g原创 2013-04-11 12:47:14 · 760 阅读 · 0 评论 -
常用SQL语句总结
前段时间做网站后台,用到了一些SQL,貌似还算常用,贴出来吧,以后省的自己重新写。1.日期相加及格式化SELECT num from cihionlinenum where timehour = DATE_FORMAT(DATE_ADD("2012-11-05 14:00:00",INTERVAL 3600 SECOND),'%Y-%m-%d %H')2.数量统计(去重复),日期转换为原创 2013-03-23 15:00:34 · 1109 阅读 · 0 评论 -
MySQL变量及优化
mysql里的变量分系统变量和用户变量1、系统变量其中系统变量,又分全局(global)和会话(session)两种.全局系统变量,主要影响整个mysql实例的全局设置.大部分变量都是作为mysql的服务器调节参数存在.新增或修改这类变量, 会影响mysql的运行方式.比如: auto_increment_increment 代表序列的自增值, 默认为1另外,转载 2013-04-11 17:57:35 · 983 阅读 · 0 评论 -
MySQL使用解析--索引
索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10000条记录转载 2013-04-11 11:25:08 · 881 阅读 · 0 评论 -
CachedPreparedStatement
CachedPreparedStatement是一个PreparedStatement的增强工具类,可以先将sql和替换条件放到CachedPreparedStatement里,等需要PreparedStatement时再将条件替换占位符,项目中,我是没用这个工具类,而是直接使用PreparedStatement的setXXX方法设置的,不知道其他人用没,姑且留个纪念吧!import java原创 2013-03-23 10:43:45 · 1093 阅读 · 0 评论 -
Mysql中FIND_IN_SET()和IN比较
前段时间项目中使用到Mysql的FIND_IN_SET函数,感觉挺好用的。过一段时间,老大找到我说,这个需要改为IN,哈哈,只能改了,原因会在下面分析到!弄个测试表来说说两者的区别,测试数据直接在问答区copy一份,能说明问题就行,哈哈,如果侵犯您的版权还请见谅,互联网吗,就需要分享!测试代码: CREATE TABLE `test` ( `id` int(8) NOT NULL原创 2013-03-22 16:41:58 · 30701 阅读 · 2 评论 -
MySQL递归层次查询
今天没事看FIND_IN_SET函数功能时,发现曾老师的一篇用MySQL做递归层次查询的文章,功能很实用,还涉及到了Mysql函数,比较有意思,就试着写了下该函数,哈哈,以前没用过函数,见笑了。在此,也感谢曾老师了,呵呵,还有每个热爱分享的IT人!表结构基本和曾老师的一样,如下:CREATE TABLE `tree` ( `id` int(11) NOT NULL, `name原创 2013-03-22 18:02:27 · 5224 阅读 · 0 评论 -
关于 MySQL LEFT JOIN 你可能需要了解的三点
即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西!ON 子句与 WHERE 子句的不同一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法 Matching-Conditions 与 Where-conditions 的不同关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒转载 2013-04-02 18:29:05 · 1150 阅读 · 0 评论 -
使用DBCP或C3P0存储二进制抛出异常
今天使用DBCP数据库连接池存放二进制图片,抛出如下异常:严重: Servlet.service() for servlet hotelAdmin threw exceptionjava.lang.AbstractMethodError: org.apache.commons.dbcp.DelegatingPreparedStatement.setBinaryStream(ILjava/i原创 2013-05-18 14:59:36 · 1347 阅读 · 0 评论 -
Mysql批量更新(JdbcTemplate)
又回到后台开发了,又要写sql语句了,今天就先写下Mysql批量更新吧,刚好用到,采用spring的JdbcTemplate。MySQL批量更新:1、jdbcTemplate.batchUpdatepublic void verifyZFJs(final String idsStr,final int type) { final String sql = "update ofz原创 2013-03-25 18:50:58 · 1820 阅读 · 0 评论 -
on、where、having的区别
on、where、having的区别on、where、having这三个都可以加条件的子句中,on是最先执行,where次之,having最后。有时候如果这先后顺序不影响中间结果的话,那最终结果是相同的。但因为on是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快的。 根据上面的分析,可以知道where也应该比having快点的,因为转载 2013-07-17 23:58:19 · 981 阅读 · 0 评论 -
MySQL UNION与UNION ALL的区别
MySQL UNION 语法MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中。语法为:SELECT column,... FROM table1 UNION [ALL]SELECT column,... FROM table2...在多个 SELECT 语句中,对应的列应该具有相同的字段属性,且第一个 SELECT 语句中被使用的字段转载 2013-06-29 23:46:28 · 3723 阅读 · 0 评论 -
MySQL日期处理
MySQL日期处理mysql日期运算,日期函数DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。 mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回date的星期索引(0=星期一,1=星期二,转载 2013-05-30 15:52:16 · 1160 阅读 · 0 评论 -
MySQL性能优化基础
MySQL性能优化基础一.MySQL之count(*)与count(id)效率比较1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = 'value’ 这种查询;3.杜绝SELECT COUNT(COL) FROM tablename的出转载 2013-05-30 15:50:44 · 1215 阅读 · 0 评论 -
MySQL出错及解决方法(网上收集)
MySQL出错及解决方法(网上收集)1.Every derived table must have its own alias这句话的意思是说每个派生出来的表都必须有一个自己的别名一般在多表查询时,会出现此错误。因为,进行嵌套查询的时候子查询出来的的结果是作为一个派生表来进行上一级的查询的,所以子查询的结果必须要有一个别名把MySQL语句改成:sel转载 2013-05-30 15:49:08 · 1247 阅读 · 1 评论 -
Java日期转换
Java日期转换Java.util.date 与 java.sql.date区别和转换1、将java.util.Date 转换为 java.sql.Datejava.sql.Date sd;java.util.Date ud;//initialize the ud such as ud = new java.util.Date();转载 2013-05-30 15:46:38 · 1355 阅读 · 0 评论 -
MYSQL数据中文乱码问题
MYSQL数据中文乱码问题如何解决MYSQL数据中文乱码问题第一种方法,很精辟的总结:经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧: WINDOWS 下导入应该这样使用MYSQL的命令在DOS命令下进入mysql的bin目录下,输入mysql -uroot转载 2013-05-30 15:38:57 · 1658 阅读 · 0 评论 -
Mysql几个不好的默认设置
Mysql几个不好的默认设置首先是max_connect_errors和connect_timeout。mysql有这样的行为:如果客户端连接Mysql失败,服务器就会在等候connect_timeout秒之后放弃等候,并且增加连接错误的计数器。然后,当值达到了max_connect_errors的时候,服务器会将这个客户端锁住。直到服务器执行了FL转载 2013-05-30 16:03:17 · 1240 阅读 · 0 评论 -
MySQL varchar转换为int
MySQL varchar转换为int1. 手动转化类型(直接+0)示例:select server_id from cardserver where game_id = 1 order by server_id+0 desclimit 102. 使用MySQL函数CAST:示例:select server_id from cardserver where ga转载 2013-05-30 15:44:48 · 23081 阅读 · 0 评论 -
MySQL数据类型解析
MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式。 由MySQL支持的列类型列在下面。下列代码字母用于描述中: M 指出最大的显示尺原创 2013-04-01 17:21:10 · 788 阅读 · 0 评论