標籤:自己 記錄 ora 關係 程式 update tor com family
首先說一下MongoDB是什嗎?
MongoDB 是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。
MongoDB 是一個基於分布式檔案儲存體的資料庫。
NoSQL (not only sql)是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。不需要遵循關係型資料庫的ACID規則,
用於超大規模資料的儲存,這些類型的資料存放區不需要固定的模式,無需多餘操作就可以橫向擴充。
************************************************************************************
關係型和非關係型的對比:
RDBMS
- 高度組織化結構化資料
- 結構化查詢語言 (SQL)(SQL) (SQL)
- 資料和關係都儲存在單獨的表中。
- 資料操縱語言,資料定義語言 (Data Definition Language)
- 嚴格的一致性
- 基礎事務
NoSQL
- 代表著不僅僅是SQL
- 沒有聲明性查詢語言
- 沒有預定義的模式
-鍵 - 值對儲存,列儲存,文檔儲存,圖形資料庫
- 最終一致性,而非ACID屬性
- 非結構化和不可預知的資料
- CAP定理
- 高效能,高可用性和延展性
NoSQL強調 Key-Value Stores 和 文檔資料庫 的優點,而不是單純的反對RDBMS。
NoSQL的優點/缺點
優點:
- - 高可擴充性
- - 分散式運算
- - 低成本
- - 架構的靈活性,半結構化資料
- - 沒有複雜的關係
缺點:
- - 沒有標準化
- - 有限的查詢功能(到目前為止)
- - 最終一致是不直觀的程式
*****************************************************************************
MongoDB是文檔儲存類型的,文檔儲存一般用類似json的格式儲存,資料結構由索引值(key=>value)對組成,儲存的內容是文檔型的。
這樣也就有有機會對某些欄位建立索引,實現關聯式資料庫的某些功能。
******************************************************************************
MongoDB的安裝配置:
這個自己百度,教程很多,https://jingyan.baidu.com/article/e52e36156372ce40c60c5194.html
http://www.runoob.com/mongodb/mongodb-window-install.html
安裝好測試成功之後,安裝視覺化檢視 Robomongo.
反正我當時在安裝配置和串連的時候碰到好多坑,當時也沒記錄,總之都是百度可以解決的問題。
*******************************************************************************
RDBMS 與 MongoDB 對應的術語:
- 文檔中的鍵/值對是有序的。
- 文檔中的值不僅可以是在雙引號裡面的字串,還可以是其他幾種資料類型(甚至可以是整個嵌入的文檔)。
- MongoDB區分類型和大小寫。
- MongoDB的文檔不能有重複的鍵。
- 文檔的鍵是字串。除了少數例外情況,鍵可以使用任意UTF-8字元。
**************************************************************************
瞭解了上述基本概念後,最重要還是CRUD操作。
參考 https://www.cnblogs.com/garinzhang/p/mongoDB_basic_usage.html
show dbs:顯示資料庫列表
show collections:顯示當前資料庫中的集合(類似關聯式資料庫中的表)
use db name:切換當前資料庫 - 將local切換為admin
db.dropDatabase(); 刪除當前資料庫
db.getMongo(); 查看當前db的連結機器地址
顯式地建立一個新的集合:
db.createCollection(<name>, { capped: <boolean>, autoIndexId: <boolean>, size: <number>, max: <number>, storageEngine: <document>, validator: <document>, validationLevel: <string>, validationAction: <string>, indexOptionDefaults: <document> } )
這個命令建立名字為“user”,最大儲存空間為 5m,最多 5000 個文檔的集合.
添加資料:沒有固定的列,根據添加的資料為準。
修改資料 :相當於 update user set name=‘王五‘ where age = 33;
刪除資料:
查詢資料:
1: select * from user;
2: select distict name from user; 過濾掉name中的相同資料。
根據列過濾資料 。
3: select * from user where age = 15;
4: select * from user where age >15;
5: select * from user where age <22;
6:select * from user where age >= 25;
7: select * from user where age <= 25;
8:
9: select * from user where name like ‘%呵%‘; 模糊查詢
10: select name, age from user;
當然name也可以用true或false,當用ture的情況下河name:1效果一樣,如果用false就是排除name,顯示name以外的列資訊。
11:select name, age from user where age >25; 查詢指定列的資料。
12:按照年齡升序排列
降序排
13:select * from user where name = ‘呵呵‘ and age = ‘85‘
14:select top 2 * from user; 查詢前兩條資料
15:查詢2條以後的資料
16:
android開發學習 ------- MongoDB資料庫簡單理解