近年來資料庫界最紅的無疑是noSQL了,大佬oracle也開始搞了。對於非關係型資料庫我還不是很瞭解,因此開始學習比較好上手的mongoDB好了。定時的做筆記也是學習的十分好的習慣。
1 資料庫軟體的安裝。其實MongoDB(windows版本)是綠色的。這是非常好的事情,不用等待好久去安裝了。在官網上(http://www.mongodb.org/downloads)就可以下載,然後解壓到本地就可以了。這裡我解壓到了E:\MongoDB下。
2 資料檔案路徑。和所有的資料庫一樣,資料的儲存要有專門的資料存放區目錄(windows下叫做檔案夾的比較多)。在bin目錄底下能看到很多很多的可執行檔,其中mongod.exe就是用來設定路徑的,它的命令很簡單,這裡以E:\MongoDB\db為路徑,那麼命令這樣寫就可以了:E:\MongoDB\bin>mongod.exe --dbpath=E:\MongoDB\db。然後會出現一大堆的提示,,但是這些基本上不需要看:
檔案如下:
3 開始使用。資料檔案路徑設定OK以後就可以開始使用了,可執行檔:mongo.exe。這樣就會進入提示符介面,就像是sqlplus下操作oracle一樣簡單了。如:
4 基本的資料庫操作。資料庫中最基本的操作無非就是增刪改查,不管是誰家的資料庫,要是沒有這四個功能,那就是個殘廢資料庫。Mongo中我現在還沒有見到表的概念,但是與之具有差不多相同功能的就是collection了。比如說中,test庫下就有兩個collections,其中那個foo下面有我以前插好的資料,現在查一把:
db.foo.find()。會出現:
這其中,根據我現在的理解,資料庫的記錄很像是xml的索引值,name就是鍵,而“Tom”就是索引值;age是鍵,而“30”就是索引值。collection不像表那樣,不管你Tom有沒有相關的Sex記錄,又要有Sex那一列,也不像表那樣,age列必須是同一種資料類型,否則再插入的時候會給你自動進行類型轉換。這裡的Tom沒有關於Sex的記錄,就沒有;這裡的Jerry年齡被記錄成了數字型,而Tom的年齡則是字元型,也就是說一個collection代表了一類資訊的集合,但並不是每一條記錄都完全被規定了形制,而是很自由的存在。
閑話少敘,下面是增:db.foo.insert({"name":"Obama","age":"50","sex":"male","job":"president"});
中間那行不慎寫錯了,不好意思。可以看到增加記錄確實有點麻煩了,因為不是給固定形制的表中插東西,所以每次都得把鍵也寫上,後面跟著索引值。
下面是改:db.foo.update({"name":"Obama"},{"nation":"USA"});
可以看到,改的很徹底。
刪除操作:db.foo.remove({"nation" : "UDA"}):
這個資料庫有點危險的地方就是增刪改操作竟然不用commit。直接就沒有了。或許在我以後的學習中能接觸到相關的內容。慢慢沉下心來學習吧。
還有很多很強大的功能等著我去探索。希望讀到我這篇博文的人們能喜歡noSQL,喜歡Mongo。
中的命令列工具是PowerCMD,是windows命令列工具的增強,非常好用,推薦大家使用,比黑框框要好用得多了。
免費的,百度搜尋就能找到。