MongoDB實現(xiàn)創(chuàng)建刪除數(shù)據(jù)庫、創(chuàng)建刪除表(集合 )、數(shù)據(jù)增刪改查
一、 數(shù)據(jù)庫使用
開啟 mongodb 服務(wù):要管理數(shù)據(jù)庫,必須先開啟服務(wù),開啟服務(wù)使用
mongod --dbpath c:\mongodb
管理 mongodb 數(shù)據(jù)庫:(一定要在新的 cmd 中輸入)
mongo
清屏:
cls
查看所有數(shù)據(jù)庫列表
show dbs
二、 創(chuàng)建數(shù)據(jù)庫
使用數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫
use student
如果真的想把這個數(shù)據(jù)庫創(chuàng)建成功,那么必須插入一個數(shù)據(jù)。
數(shù)據(jù)庫中不能直接插入數(shù)據(jù),只能往集合(collections)中插入數(shù)據(jù)。不需要專門創(chuàng)建集合,只
需要寫點語法插入數(shù)據(jù)就會創(chuàng)建集合:
插入一條數(shù)據(jù)
db.student.insert({“name”:”xiaoming”});
db.student 系統(tǒng)發(fā)現(xiàn) student 是一個陌生的集合名字,所以就自動創(chuàng)建了集合。
顯示當(dāng)前的數(shù)據(jù)集合(mysql 中叫表)
show collections
刪除數(shù)據(jù)庫,刪除當(dāng)前所在的數(shù)據(jù)庫
db.dropDatabase();
刪除集合,刪除指定的集合 刪除表
刪除集合
db.COLLECTION_NAME.drop() db.user.drop()
三、插入(增加)數(shù)據(jù)
插入數(shù)據(jù),隨著數(shù)據(jù)的插入,數(shù)據(jù)庫創(chuàng)建成功了,集合也創(chuàng)建成功了。
db. 表名.insert({"name":"zhangsan"}); student 集合名稱(表)
四、查找數(shù)據(jù)
1 、查詢所有記錄
db.userInfo.find();
相當(dāng)于:select* from userInfo;
2 、查詢?nèi)サ艉蟮漠?dāng)前聚集集合中的某列的重復(fù)數(shù)據(jù)
db.userInfo.distinct("name");
會過濾掉 name 中的相同數(shù)據(jù)
相當(dāng)于:select distict name from userInfo;
3 、查詢 age = 22 的記錄
db.userInfo.find({"age": 22});
相當(dāng)于: select * from userInfo where age = 22;
4 、查詢 age > 22 的記錄
db.userInfo.find({age: {$gt: 22}});
相當(dāng)于:select * from userInfo where age >22;
5 、查詢 age < 22 的記錄
db.userInfo.find({age: {$lt: 22}});
相當(dāng)于:select * from userInfo where age <22;
6 、查詢 age >= 25 的記錄
db.userInfo.find({age: {$gte: 25}});
相當(dāng)于:select * from userInfo where age >= 25;
7 、查詢 age <= 25 的記錄
db.userInfo.find({age: {$lte: 25}});
8 、查詢 age >= 23 并且 age <= 26 注意書寫格式
db.userInfo.find({age: {$gte: 23, $lte: 26}});
9 、查詢 name 中包含 mongo 的數(shù)據(jù) 模糊查詢用于搜索
db.userInfo.find({name: /mongo/});
相當(dāng)于:%%
select * from userInfo where name like ‘%mongo%’;
10 、查詢 name 中以 mongo 開頭的
db.userInfo.find({name: /^mongo/});
相當(dāng)于:select * from userInfo where name like ‘mongo%’;
11 、查詢指定列 name 、age 數(shù)據(jù)
db.userInfo.find({}, {name: 1, age: 1});
相當(dāng)于:select name, age from userInfo;
當(dāng)然 name 也可以用 true 或 false,當(dāng)用 ture 的情況下河 name:1 效果一樣,如果用 false 就是排除 name,顯示 name 以外的列信息。
12 、查詢指定列 name 、age 數(shù)據(jù), age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
相當(dāng)于:select name, age from userInfo where age >25;
13 、按照年齡排序 1 升序 -1 降序
升序:db.userInfo.find().sort({age: 1}); 降序:db.userInfo.find().sort({age: -1});
14 、查詢 name = zhangsan, age = 22 的數(shù)據(jù)
db.userInfo.find({name: 'zhangsan', age: 22});
相當(dāng)于:select * from userInfo where name = ‘zhangsan’ and age = ‘22’;
15 、查詢前 5 條數(shù)據(jù)
db.userInfo.find().limit(5);
相當(dāng)于:selecttop 5 * from userInfo;
16 、查詢 10 條以后的數(shù)據(jù)
db.userInfo.find().skip(10);
相當(dāng)于:select * from userInfo where id not in ( select top 10 * from userInfo );
五、刪除數(shù)據(jù)
db.collectionsNames.remove( { "borough": "Manhattan" } ) db.users.remove({age: 132}); By default, the remove() method removes all documents that match the remove condition. Use the justOne option to limit the remove operation to only one of the matching documents. db.restaurants.remove( { "borough": "Queens" }, { justOne: true }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Win10 安裝 MongoDB 3.6.5 失敗的問題及解決方法
這篇文章主要介紹了Win10 安裝 MongoDB 3.6.5 失敗的問題及解決方法,需要的朋友可以參考下2018-05-05MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法
這篇文章主要介紹了MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法,當(dāng)我們對數(shù)據(jù)出現(xiàn)誤操作的時候,可以利用oplog恢復(fù)數(shù)據(jù),下文操作過程需要的小伙伴可以參考一下2022-04-04關(guān)于NoSQL之MongoDB的一些總結(jié)
這篇文章主要介紹了關(guān)于NoSQL之MongoDB的一些總結(jié)的相關(guān)資料,需要的朋友可以參考下2015-07-07MongoDB錯誤32-bit servers don''t have journaling enabled by de
這篇文章主要介紹了MongoDB錯誤32-bit servers don't have journaling enabled by default解決方法,需要的朋友可以參考下2014-10-10關(guān)于MongoTemplate通過id查詢?yōu)閚ull的問題
這篇文章主要介紹了關(guān)于MongoTemplate通過id查詢?yōu)閚ull的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01MongoDB??數(shù)據(jù)模型的設(shè)計模式及優(yōu)缺點
這篇文章主要介紹了MongoDB??數(shù)據(jù)模型的設(shè)計模式,在實際開發(fā)中,大多數(shù)性能問題都可以追溯到糟糕的模型設(shè)計,官方也提供分享過文檔模型設(shè)計的進階技巧,這里簡單翻譯記錄一下,需要的朋友可以參考下2022-12-12