1、NoSQL(非关系型数据库)
-
nosql指的是Not Only SQL ,表示不仅仅是sql。基于数据存储模型,Nosql可以分为列族型式数据存储数据库、键-值对数据库,文档型数据库,对象型数据库,图数型数据库等。各类型的数据库也有许多自己的相关产品,如:图数据库Neon4J就广泛用于知识图谱领域,文档类型数据库MongoDB广泛应用与自然语言处理领域。
-
下表按照常见的NoSQL数据库方式列存储,文档存储,键值对存储等,对其数据类型、应用场景、代表数据库,以及主要特征进行总结比对。
接下来会使用python对NoSQL数据库的操作,这选取里Mongo DB数据库
2、python操作mongoDB
MongoDB是一个基于分布式文件存储的数据库,由C++编写,旨在为web应用提供可拓展的高性能数据存储解决方案。
MongoDB是一个介于关系型数据库和非关系型数据库的之间的产品,是非关系数据库中功能最丰富,最像关系型数据库的。
首先python3中使用的是Pymongo操作MongoDB,
- 查看pymongo的版本
import pymongo
print(pymongo.__version__)
# 3.10.1
- python操作MongoDB
from pymongo import MongoClient
client = MongoClient(host='127.0.0.1',port=27017)
db =client.pymongodb
db
#Out[6]: Database(MongoClient(host=['127.0.0.1:27017'], document_class=dict, tz_aware=False, connect=True), 'pymongodb')
- 插入数据和读取数据
这里的数据是字典
#插入数据
dic ={'name':'huang','sex':'M','age':25}
db.pycollection.insert(dic)
#读取数据
data =db.pycollection.find() #这里数据是可迭代的
for x in data:
print(x)
#output:{'_id': ObjectId('5e7787b15e5d088115660687'), 'name': 'huang', 'sex': 'M', 'age': 25}