<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
資料庫可以簡單的分為 MySQL
和 NOSQL
兩類。這裡的 NOSQL
不是 NO SQL
的意思,他的意思是 Not Only MySQL
MySQL與NoSQL之間的區別:
1、MySQL是一個基於表格設計的關聯式資料庫,而NoSQL本質上是非關係型的基於檔案的設計。
2、MySQL資料庫,覆蓋了巨大的IT市場;具有固定市場的MySQL資料庫包含一個龐大的社群。而NoSQL資料庫是最新的到來,與MySQL相比,社群正在慢慢發展。
3、MySQL的嚴格模式限制並不容易擴充套件,而NoSQL可以通過動態模式特性輕鬆擴充套件。
4、MySQL中建立資料庫之前需要詳細的資料庫模型,而在NoSQL資料庫型別的情況下不需要詳細的建模。
5、MySQL提供了大量的報告工具,可以幫助應用程式有效,而NoSQL資料庫缺少用於分析和效能測試的報告工具。
6、MySQL是一個關聯式資料庫,其設計約束靈活性較低;而NoSQL本質上是非關係型的,與MySQL相比,它提供了更靈活的設計。
7、MySQL中使用的標準語言是SQL;而NoSQL中缺乏標準的查詢語言。
mongodb是一種資料庫,它可以儲存鍵值對型別的資料(json,字典)。目前流行的資料庫是 MySQL ,但它並不利於初學者入門。我之前發過 Tinydb,Sqlite3 等資料庫的講解,都比較簡單,那我這次來發一下mongodb資料庫。
mongodb 的資料庫、集合
一個資料庫下可以有多個集合,集合裡儲存資料。集合可以理解為 SQL 資料庫中的表。
安裝 mongodb
終端執行
pip install pymongo
連線資料庫
client = pymongo.MongoClient(host, port)
host
是地址,port
是埠。
切換資料庫 第一種方法
db_name = client['db_name']
其中 db_name
是你的資料庫名。
第二種方法
db_name = client.get_database('db_name')
其中 db_name
是你的資料庫名。
第三種方法
db_name = client.db_name
切換集合
db_name.test
其中 test
是集合名,沒有這個集合會自動建立。
新增資料
def add_data(data): result = db_name.test.insert_one(data) print(result.inserted_id)
其中 test
是集合名。
新增資料用 insert_one
方法。
其中,data 是要插入的資料,它的型別是鍵值對,即 Python 中的字典。這是一條合法的 data
{"name":"XiaoMing","password":123456}
特殊的,如果要插入在指定 id ,可以這樣寫
result = db_name.test.insert_one({_id:1,"xxx":"xxx",...})
也可以插入多個,只需要把 data 變成
[{"name":"XiaoMing","password":123456},{"name":"XiaoHong","password":123456}]
db.test.remove(查詢表示式, isJustOne)
查詢表示式有這些
語法 | 操作 | 格式 |
---|---|---|
$eq | 等於 | {:} |
$lt | 小於 | {:{$lt:}} |
$lte | 小於或等於 | {:{$lte:}} |
$gt | 大於 | {:{$gt:}} |
$gte | 大於或等於 | {:{$gte:}} |
$ne | 不等於 | {:{$ne:}} |
$or | 或 | {$or:[{},{}]} |
$in | 在範圍內 | {age:{$in:[val1,val2]}} |
$nin | 不在範圍內 | {age:{$nin:[val1,val2]}} |
例如,刪除 test 集合中 name 是 XiaoMing 的所有資料
db.test.remove({<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->name:"XiaoMing"})
db.collection.update(查詢表示式,新值,選項)
選項: {upsert : true/false, multi : ture/false}
#替換檔案,將name為zhangsan的第一個檔案替換為{"name":"lisi","age":10} db.stu.update({"name":"zhangsan"},{"name":"lisi","age":10}) $set修改器,指定要更新的key,key不存在則建立,存在則更新。 #將name為zhangsan的所有檔案替換為{"name":"lisi","no":'100'} db.stu.update({"name":"zhangsan"},{$set:{"name":"lisi","no":'100'}},{multi:true})
#查詢所有資料 db.集合名.find() # 查詢到所有匹配資料 db.集合名.find({條件檔案}) # 只返回匹配的第一個資料 db.stu.find({age:{$gt:16}}) #查詢年齡大於16的記錄 db.stu.find({$or:[{age:{$gt:18}},{name:"xiaoming"}]) #查詢年齡大於18或者名字是xiaoming的記錄 #使用$where後面寫一個函數,返回滿足條件的資料 db.stu.find({$where:function(){return this.age>20}}) #用於讀取指定數量的檔案 db.集合名稱.find().limit(NUMBER) #對查詢結果排序(引數1升序,引數-1降序) db.集合名稱.find().sort({欄位:1,...}) #統計結果中的檔案數 db.集合名稱.find({條件}).count()
到此這篇關於利用Python操作MongoDB資料庫的詳細指南的文章就介紹到這了,更多相關Python操作mongodb資料庫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45