一、传统数据库技术回顾
数据库就是存储数据的,那么存储数据就用txt就行了啊,为什么要有数据库?
**理由之1: 数据库有行、列的概念,数据有关系,数据不是散的。**
老牌数据库,比如MySQL、SQL Server、Oracle、Access。
这些数据库,我们管他们叫做结构型数据库。为什么?因为每个表中,都有明确的字段,每行记录,都有这些字段。不能有的行有,有的行没有。
**理由二:数据库能够提供非常方便的接口,让增删改查操作变得简单**
我们的老牌数据库,都无一例外的使用SQL语言,管理数据库。 SQL就是structure query language。
比如,查询所有女生: SELECT * FROM step1 WHERE xingbie = ‘女’;
再比如,查询所有女生,并且年龄20~24之间,且在北京: 1 SELECT * FROM step1 WHERE xingbie = ‘女’
AND nianling < 24 AND nianling >= 20 AND xianzaisuozaidi = ‘北京’;
**理由之三:数据库不能自己玩儿,要给向PHP、.net、jsp等语言提供接口。**
用php这些语言,能够向数据库之中增删改查。
二、NoSQL
结构性数据库有表和字段的概念,但字段这东西不太灵活。那么非结构性数据库的出现的试用场合有以下几点:
1、数据模型比较简单;
2、需要灵活性更强的IT系统;
3、对数据库性能要求较高;
4、不需要高度的数据一致性;
5、对于给定key,比较容易映射复杂值的环境。
三、MongoDB安装
手册:https://docs.mongodb.org/manual/
下载链接:https://pan.baidu.com/s/1pKLfTVX 密码:p3ax
下载MongoDb安装并把bin目录路径加入到系统的path环境变量中
四、数据库使用
安装好以后我们就可以在任意盘符,使用mongo命令了:
mongo:使用数据库
mongod:开机
mongoimport:从其它的mongo数据库导入数据到当前数据库
完整的使用方法:
1、win+R进入命令行窗口
2、mongod –dbpath d:/testMongoData
–dbpath就是选择数据库文档所在的文件夹。
3、新打开一个命令行窗口(要保证上面一个不能关闭)
4、输入mongo命令
那么,运行环境就是mongo语法了。
5、show dbs (列出所有数据库)
6、使用数据库(或者新建) use student
如果想新建数据库,也是use。use一个不存在的,就是新建。
7、查看当前所在数据库 db
8、插入数据 db.student.insert({“name”:”xiaoming”});
注意:
student就是所谓的集合。集合中存储着很多json。
student是第一次使用,集合将自动创建。
9、批量插入数据
mongoimport –db (数据库名字) –collection (集合名字) –drop –file (来自哪个数据库文件)
9、查找数据
精确匹配:
db.student.find({"score.shuxue":70});
多个条件:
db.student.find({"score.shuxue":70 , "age":12})
大于条件:
db.student.find({"score.yuwen":{$gt:50}});
或者。寻找所有年龄是9岁,或者11岁的学生
db.student.find({$or:[{"age":9},{"age":11}]});
查找完毕之后,打点调用sort,表示升降排序。
db.restaurants.find().sort( { "borough": 1, "address.zipcode": 1 } )
10、修改数据
db.student.update({"name":"小明"},{$set:{"age":16}});
11、删除数据
db.student.remove( { "borough": "Manhattan" } )