关于NOSQL和MongoDB的一点学习心得
2017-05-13 17:53
281 查看
这节课主要学习了NOSQL和有关mongodb的基本知识和基本操作
首先是NOSQL
NOSQL是一种非关系型的数据库。随着互联网的兴起,传统的关系数据库在许多大规模数据处理面前已经显得力不从心,而非关系型数据库的产生解决了该类问题。NOSQL全称not only SQL,此处注意NO SQL并不是指非SQL。
SQL分为四大类,分别是
1.键值(Key-Value)存储数据库
2.列存储数据库
3.文档型数据库
4.图形(Graph)数据库
详情可以到这位大神这里看看
http://blog.csdn.net/qq_30843221/article/details/71683310
其次是mongodb
mongodb是一个基于分布式文件存储的数据库,其将数据存储为一个文档,每一个数据由基本的键值(key,value)对组成。
以下是mongodb的一些基本操作
首先是在python上安装mongodb,打开终端,输入
这里先说一下集合和数据库的关系,多个文档构成集合,多个集合组成数据库。一个MongoDB实例可以承载多个数据库,每个数据库可以拥有0到多个集合。
一下是一些基本的操作命令
use yourDB; //切换/创建数据库
show dbs;//查询所有数据库
db.dropDatabase();//删除当前使用数据库
db.getName();//查看当前使用的数据库
show collections;查看文档集合
db.createCollection(“文档名”, {“name”: “ ”});//创建文档集
db.文档名.insert({“name”:” ”});//插入新建
db.文档名.drop();//删除文档
关于文档记录的增删查改
(1)增加记录:
db.文档名.insert({“name”: “myname”, “age”: 20, “area”: “st”});
(2)查询记录:
(3)修改记录:
criteria: update的查询条件, 类似sql update 查询内where 后面的;
objNew: update 的对象和一些更新的操作符等,也可以理解为sql update查询内set后面的
upset: 这个参数的意思是, 如果不存在update的记录, 是否插入objNew, true为插入, 默认是false, 不插入.
Multi: mongodb默认是false, 只更新找到的第一条记录, 如果这个参数为true, 就把按条件查出来多条记录全部更新.
例子:db.文档名.update({"age" : 20},{set:{"name":" "}},false, false);
(4)删除记录:
db.文档名.remove({"area":"gd"});
首先是NOSQL
NOSQL是一种非关系型的数据库。随着互联网的兴起,传统的关系数据库在许多大规模数据处理面前已经显得力不从心,而非关系型数据库的产生解决了该类问题。NOSQL全称not only SQL,此处注意NO SQL并不是指非SQL。
SQL分为四大类,分别是
1.键值(Key-Value)存储数据库
2.列存储数据库
3.文档型数据库
4.图形(Graph)数据库
详情可以到这位大神这里看看
http://blog.csdn.net/qq_30843221/article/details/71683310
其次是mongodb
mongodb是一个基于分布式文件存储的数据库,其将数据存储为一个文档,每一个数据由基本的键值(key,value)对组成。
以下是mongodb的一些基本操作
首先是在python上安装mongodb,打开终端,输入
sudo apt-get install mongodb安装成功之后可以选择关闭终端,打开新的终端窗口键入mogodb,进入操作界面,新手的话可以键入help查看关于mogodb的一些基本命令
这里先说一下集合和数据库的关系,多个文档构成集合,多个集合组成数据库。一个MongoDB实例可以承载多个数据库,每个数据库可以拥有0到多个集合。
一下是一些基本的操作命令
use yourDB; //切换/创建数据库
show dbs;//查询所有数据库
db.dropDatabase();//删除当前使用数据库
db.getName();//查看当前使用的数据库
show collections;查看文档集合
db.createCollection(“文档名”, {“name”: “ ”});//创建文档集
db.文档名.insert({“name”:” ”});//插入新建
db.文档名.drop();//删除文档
关于文档记录的增删查改
(1)增加记录:
db.文档名.insert({“name”: “myname”, “age”: 20, “area”: “st”});
(2)查询记录:
通用的查找: db.文档名.find().pretty(); 特定查找: db.文档名. find({“name”: “myname”}); 模糊查询: db.文档名.find({“name”: /my/”})
(3)修改记录:
db.collection.update(criteria, objNew, upsert, multi)
criteria: update的查询条件, 类似sql update 查询内where 后面的;
objNew: update 的对象和一些更新的操作符等,也可以理解为sql update查询内set后面的
upset: 这个参数的意思是, 如果不存在update的记录, 是否插入objNew, true为插入, 默认是false, 不插入.
Multi: mongodb默认是false, 只更新找到的第一条记录, 如果这个参数为true, 就把按条件查出来多条记录全部更新.
例子:db.文档名.update({"age" : 20},{set:{"name":" "}},false, false);
(4)删除记录:
db.文档名.remove({"area":"gd"});
相关文章推荐
- 关于framebuffer这几天学习的一点心得体会和疑惑
- 关于条件编译和预编译的一点学习心得
- 关于51单片学习的一点心得
- 关于学习新技术的一点心得
- 关于编程语言的学习的一点心得
- [转载]关于文件系统和磁盘驱动的一点学习心得
- 关于多态的一点学习心得
- 【分享】关于第10章-同时替换栈和.data中COOKIES来突破GS的一点学习心得
- 关于C#中AutoResetEvent和ManualResetEvent的一点学习心得
- 关于java内存泄漏的一点学习心得
- 初学者学习分布式的一点心得,关于Remoting的分布式简单实例的
- 关于C#中AutoResetEvent和ManualResetEvent的一点学习心得
- J2ME学习过程中的一点心得整理(参考:java手机/PDA程序设计入门 王森)
- J2ME学习过程中的一点心得整理
- HSQLDB学习心得(1)-关于SERVER模式下多个数据库的启动问题与数据库连接
- 关于WEB交互式设计,JavaScript以及AJAX的一点心得
- 关于exe形式编程的一点心得,希望对大家有所帮助
- 关于IIS5.1配置的一点心得
- 关于用存储过程动态创建视图的一点心得。
- 关于用户控件的一点心得(一)