上次javascript
咱們知道了怎麼操做 MySQL 數據庫 php
python爬蟲26 | 把數據爬取下來以後就存儲到你的MySQL數據庫。css
MySQL 有些年頭了html
開源又成熟又牛逼java
因此如今不少企業都在使用 MySQLpython
MySQL 是關係型數據庫ios
其實當前主流的數據庫 web
例如mongodb
Oracle、DB二、PostgreSQL、Microsoft SQL Server 等等數據庫
都是關係型數據庫
這樣的話
它們能夠在數據表之間創建索引、約束
進行關聯
讓表與表之間產生聯繫
可讓數據重複利用,不會浪費
相對應的就是
非關係型數據庫
NoSQL
它不用傳統的 SQL 語句進行操做
而是有本身的獨特的數據存儲方式
能夠說至關方便
NOSQL 的經典表明數據庫就是咱們今天要說的
MongoDB
由 C++ 寫的 文檔存儲 形式的非關係數據庫
若是你對 JSON 有所瞭解
那麼 MongoDB 對你來講so easy
因爲它是基於內存對數據進行處理的
因此讀寫速度相對更高一些
好了
吹了一波 MongoDB 的牛逼以後
接下來小帥b就來跟你說說
怎麼玩 MongoDB
接下來就是
咱們先來看看這樣的數據
name | quantity | size | status | tags | rating |
---|---|---|---|---|---|
journal | 25 | 14x21,cm | A | brown, lined | 9 |
notebook | 50 | 8.5x11,in | A | college-ruled,perforated | 8 |
paper | 100 | 8.5x11,in | D | watercolor | 10 |
planner | 75 | 22.85x30,cm | D | 2019 | 10 |
postcard | 45 | 10x,cm | D | double-sided,white | 2 |
(來自 mongodb 官方例子)
有些字段裏面包含多個信息
若是按傳統的 SQL 的話
查詢起來比較麻煩
並且須要建立多張表進行關聯
而用文檔格式存儲的話就能夠使用這樣的格式表示
{ "name": "notebook", "qty": 50, "rating": [ { "score": 8 }, { "score": 9 } ], "size": { "height": 11, "width": 8.5, "unit": "in" }, "status": "A", "tags": [ "college-ruled", "perforated"]}
是否是很簡單咧
那麼接下來小帥b就帶你使用 python 來操做 MangoDB 吧
真香假設
本文假設你的操做系統已經安裝好 MangoDB 了
若是你還沒安裝的話
能夠到如下連接進行下載安裝
https://docs.mongodb.com/manual/installation/?jmp=footer&_ga=2.246611149.899311115.1556631996-38380112.1556631995
當你安裝完以後
啓動 mongodb
而後輸入 mongo 就能夠操做 MongoDB 了
好了好了
咱們使用 python 代碼來操做一下吧
此次咱們須要一個庫
Pymongo
from pymongo import MongoClient
鏈接到你的 MongoDB
conn = MongoClient('mongodb://localhost:27017/')
27017 是你的 MongoDB 的默認端口
建立一個 avIdol 數據庫,若是 mongodb 沒有會自行建立
db = conn.avIdol
往數據庫插入一條數據
db.col.insert({"name": '波多野結衣', 'bwh': '{ "b": 90, "w": 59, "h": 85}' , 'age': 30})
運行一下
沒報什麼錯
接着咱們使用
print(db.col.find_one())
來查詢一下是否插入數據了
能夠看到
數據插入成功
來個批量插入吧
db.col.insert([ {"name": '波多野結衣', 'bwh': '{ "b": 90, "w": 59, "h": 85}' , 'age': 30}, {"name": '吉澤明步', 'bwh': '{ "b": 86, "w": 58, "h": 86}' , 'age': 35}, {"name": '桃乃木香奈', 'bwh': '{ "b": 80, "w": 54, "h": 80}' , 'age': 22}, {"name": '西宮夢', 'bwh': '{ "b": 85, "w": 56, "h": 86}' , 'age': 22}, {"name": '松下紗榮子', 'bwh': '{ "b": 88, "w": 57, "h": 86}' , 'age': 28}])
此次咱們使用 for 循環查詢一下數據庫
for item in db.col.find(): print(item)
能夠看到
數據被咱們存儲下來了
固然
你也能夠經過條件查詢
例如根據 id 查詢
刪除 波多野結衣
db.col.remove({"name": "波多野結衣"})
刪除所有
db.col.remove()
把 吉澤明步 換成 蒼井空
db.col.update({'name': '吉澤明步'}, {'$set': {'name': '蒼井空'}})
ok
以上就是 python 對 MongoDB 的操做
更多關於 MongoDB 的介紹能夠到官方看看
https://docs.mongodb.com/
之後
小帥b帶你玩爬蟲項目實戰的時候
還會說起 MongoDB 的
期待就好
那麼
咱們下回見了
peace
記得素質三連!!!!!!!!!!!!!!!!