近年来数据库界最红的无疑是noSQL了,大佬oracle也开始搞了。对于非关系型数据库我还不是很了解,因此开始学习比较好上手的mongoDB好了。定时的做笔记也是学习的十分好的习惯。
1 数据库软件的安装。其实MongoDB(windows版本)是绿色的。这是非常好的事情,不用等待好久去安装了。在官网上(http://www.mongodb.org/downloads)就可以下载,然后解压到本地就可以了。这里我解压到了E:\MongoDB下。
2 数据文件路径。和所有的数据库一样,数据的存储要有专门的数据存储目录(windows下叫做文件夹的比较多)。在bin目录底下能看到很多很多的可执行文件,其中mongod.exe就是用来设置路径的,它的命令很简单,这里以E:\MongoDB\db为路径,那么命令这样写就可以了:E:\MongoDB\bin>mongod.exe --dbpath=E:\MongoDB\db。然后会出现一大堆的提示,如图,但是这些基本上不需要看:
文件如下:
3 开始使用。数据文件路径设置OK以后就可以开始使用了,可执行文件:mongo.exe。这样就会进入提示符界面,就像是sqlplus下操作oracle一样简单了。如下图:
4 基本的数据库操作。数据库中最基本的操作无非就是增删改查,不管是谁家的数据库,要是没有这四个功能,那就是个残废数据库。Mongo中我现在还没有见到表的概念,但是与之具有差不多相同功能的就是collection了。比如说上图中,test库下就有两个collections,其中那个foo下面有我以前插好的数据,现在查一把:
db.foo.find()。会出现:
这其中,根据我现在的理解,数据库的记录很像是xml的键值,name就是键,而“Tom”就是键值;age是键,而“30”就是键值。collection不像表那样,不管你Tom有没有相关的Sex记录,又要有Sex那一列,也不像表那样,age列必须是同一种数据类型,否则再插入的时候会给你自动进行类型转换。这里的Tom没有关于Sex的记录,就没有;这里的Jerry年龄被记录成了数字型,而Tom的年龄则是字符型,也就是说一个collection代表了一类信息的集合,但并不是每一条记录都完全被规定了形制,而是很自由的存在。
闲话少叙,下面是增:db.foo.insert({"name":"Obama","age":"50","sex":"male","job":"president"});
中间那行不慎写错了,不好意思。可以看到增加记录确实有点麻烦了,因为不是给固定形制的表中插东西,所以每次都得把键也写上,后面跟着键值。
下面是改:db.foo.update({"name":"Obama"},{"nation":"USA"});
可以看到,改的很彻底。
删除操作:db.foo.remove({"nation" : "UDA"}):
这个数据库有点危险的地方就是增删改操作竟然不用commit。直接就没有了。或许在我以后的学习中能接触到相关的内容。慢慢沉下心来学习吧。
还有很多很强大的功能等着我去探索。希望读到我这篇博文的人们能喜欢noSQL,喜欢Mongo。
上图中的命令行工具是PowerCMD,是windows命令行工具的增强,非常好用,推荐大家使用,比黑框框要好用得多了。
免费的,百度搜索就能找到。