文章分类 -  Database

摘要:一、导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。mongoexport具体用法如下所示 参数说明: -h:指明数据库宿主机的IP -u:指明 阅读全文
posted @ 2016-03-24 16:27 程序world 阅读(205) 评论(0) 推荐(0)
摘要:1、复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。 不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(a 阅读全文
posted @ 2016-01-27 16:46 程序world 阅读(80) 评论(0) 推荐(0)
摘要:没有指定任何自己的参数,完全采用Mongo默认的路径和参数来进行安装的,如果没有root的情况下,是不能把数据库的默认路径建立在根目录的/data/db下的,因此,我想自己定义一个目录来存放数据文件,如何进行呢mongod还有很多的启动选择项,运行mongod --help就可以查看所有的选择... 阅读全文
posted @ 2016-01-26 10:25 程序world 阅读(156) 评论(0) 推荐(0)
摘要:下面安装mongodb-10gen来解决这个错误:获取下载10-gen公共密钥:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 创建一个/etc/apt/sources.list.d/10gen:echo 'deb... 阅读全文
posted @ 2016-01-26 09:56 程序world 阅读(2838) 评论(0) 推荐(0)
摘要:之前数据库都是默认的‘latin1’,由于业务需求,需要把数据集修改为utf-8(1)创建一个新的数据库,并设置默认的格式为utf-8 CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_... 阅读全文
posted @ 2016-01-25 10:49 程序world 阅读(536) 评论(0) 推荐(0)
摘要:对mysql中表导出导入命令: select * from teacher into outfile 'd:/a.xls'MySQL 要导出成 excel 文件很简单,执行类似这样的命令:select * from 某个表 into outfile 'd:/文件名.xls';上述命令你在服务器上执行,就导在服务器 D: 盘,若在客户端命令行方式执行,就导在客户端 D:盘 ,若在客户端通过 POST 方式执行,则导在服务器 D:盘。能导成功的大前提是你有登录权限,要有 select 权限,而且还要有 file 权限,如果没有 file 权限,你将无法执行 sele 阅读全文
posted @ 2013-08-07 18:38 程序world 阅读(117) 评论(0) 推荐(0)
摘要:一、概述 随着数据库在各个领域的使用不断增长,越来越多的应用提出了高性能的要求。数据库性能调优是知识密集型的学科,需要综合考虑各种复杂的因素:数据库缓冲区的大小、索引的创建、语句改写等等。总之,数据库性能调优的目的在于使系统运行得更快。 调优需要有广泛的知识,这使得它既简单又复杂。 说调优简单,是因为调优者不必纠缠于复杂的公式和规则。许多学术界和业界的研究者都在尝试将调优和查询处理建立在数学基础之上。 称调优复杂,是因为如果要完全理解常识所依赖的原理,还需要对应用、数据库管理系统、操作系统以及硬件有广泛而深刻的理解。 数据库调优技术可以在不同的数据库系统中使用。如果需要调优数据库系统... 阅读全文
posted @ 2013-04-24 22:31 程序world 阅读(120) 评论(0) 推荐(0)
摘要:1、IN操作符用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。2、NOT IN操作符此操作是强列推荐不使用的,因为它不能应用表的索引。推荐方案:用NOT EXISTS或(外连接+判断为空)方案代 阅读全文
posted @ 2013-04-24 22:07 程序world 阅读(702) 评论(0) 推荐(0)
摘要:Under编程代码| 一月 12th, 2012 | 浏览(47)No comment范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。下面就简单介绍下这三个范式。◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他 阅读全文
posted @ 2013-04-24 21:56 程序world 阅读(101) 评论(0) 推荐(0)
摘要:有两个简单例子,以说明 “exists”和“in”的效率问题1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。2) select * from T1 where T1.a in (select T2.a from T2) ;T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。exists 用法:请注意 1)句中的有颜色字体的部分 ,理解其含义;其中 “select 1 from T2 where 阅读全文
posted @ 2013-04-24 21:41 程序world 阅读(231) 评论(0) 推荐(0)
摘要:1 例子: 2 [sql] 3 //创建过程 4 create or replace procedure add_emailinfo(namee email_info.fullname%type ,address email_info.email_address%type ) 5 is 6 begin 7 insert into email_info(fullname,email_address) values (namee,address); 8 end; 9 //调用过程 10 call add_ema... 阅读全文
posted @ 2013-04-24 21:25 程序world 阅读(99) 评论(0) 推荐(0)
摘要:除了单行函数之外,在oracle中还存在另一类函数,那就是oracle聚合函数,下面就让我们来一起了解一下oracle聚合函数。oracle聚合函数非常有用,主要是用来做些统计、平均之类的工作。先简单介绍一下几个常用的oracle聚合函数。Count用来求有效数据的数量Max用来求给定数据中最大的那一个数据Min用来求给定数据中最小的那一个数据Avg用来求给定数据的平均值Sum用来求给定数据的总和Variance用来求给定数据的标准差Stddev用来求给定数据的方差先面是一些例子和注意事项。1 .对于oracle聚合函数,如果给定的值中存在空值的话,oracle将会直接忽略。例如,对于scot 阅读全文
posted @ 2013-04-24 21:19 程序world 阅读(1356) 评论(0) 推荐(0)
摘要:1.左连接 a.a=b.b(+) 右连接 a.a(+)=b.b2. create table dali.test1(a int,b int); create table dali.test2(a int,b int); insert into dali.test1 values(1,456); insert into dali.test1 values(2,427); insert into dali.test2 values(1,45456); insert into dali.test2 values(3,45656); ---... 阅读全文
posted @ 2013-04-24 21:15 程序world 阅读(86) 评论(0) 推荐(0)
摘要:having子句与where有相似之处但也有区别,都是设定条件的语句。在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)。简单说来:where子句:select sum(num) as rmb from order where id>10//只有先查询出id大于10的记录才能进行聚合语句having子句:select reportsto as manager, count(*) as reports from employeesgroup by 阅读全文
posted @ 2013-04-24 20:32 程序world 阅读(155) 评论(0) 推荐(0)
摘要:什么是存储过程:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程的好处:1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。2.一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。3.通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。小结:总之存储过程是好东西,在做项目时属于必备利器,下面介 阅读全文
posted @ 2013-04-13 14:52 程序world 阅读(125) 评论(0) 推荐(0)