關於NOSQL和MongoDB的一點學習心得
這節課主要學習了NOSQL和有關mongodb的基本知識和基本操作
首先是NOSQL
NOSQL是一種非關係型的資料庫。隨著網際網路的興起,傳統的關係資料庫在許多大規模資料處理面前已經顯得力不從心,而非關係型資料庫的產生解決了該類問題。NOSQL全稱not only SQL,此處注意NO SQL並不是指非SQL。
SQL分為四大類,分別是
1.鍵值(Key-Value)儲存資料庫
2.列儲存資料庫
3.文件型資料庫
4.圖形(Graph)資料庫
詳情可以到這位大神這裡看看
其次是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"});