Python資料庫學習筆記(五):SQLite及MongoDB

Yanwei Liu
3 min readApr 27, 2019

SQLite

特點

文件型數據庫:常用於應用程序存儲數據,比如瀏覽器存儲用戶的資料等GUI: DB Browser for SQLite
Python:import sqlite3,來進行數據庫的讀取(不需要安裝)
相關準備
1.下載DB Browser for SQLite
2.至Kaggle-iris,下載整理好的iris的SQLite的數據集
3.在DB Browser中打開iris sqllite格式的數據庫
程式import sqlite3
conn=sqlite3.connect(‘toFilePath’) #通過sqlite3.connect連接資料庫
c=conn.cursor() #返回的是list結構
c.execute(‘select * from iris’)
result=c.fetchall()
print(result)
#如果需要返回的格式是Sqlite3.Row,需要在執行查詢語句前加入一行代碼
c.row_factory=sqlite3.Row
#雖然和Python的Dictionary結構有一定的差異,但是可以根據屬性名稱來進行index檢索

MongoDB

特點

NoSQL數據庫:不使用SQL語句進行檢索
MongoDB存儲文件的類型類似於JSON格式
GUI:Robo 3T
Python:PyMongo,來進行數據庫的讀取(需要安裝)
#MongoDB插入記錄
#db是數據庫的名稱;mycol是數據庫中的表格名,id,title,description,by,url是鍵,冒號後是屬性的值;tag存儲的是列表;like:還可以插入int型
import pymongo
conn = pymongo.Connection(host='127.0.0.1',port=27017)
db = conn.ChatRoom
db.mycol.insert({_id:ObjectId(___),title:’___’,description:’___’,by:’___’,url:’___’,tags:[‘___’,…],likes:___}]#MongoDB查詢
#OR代表了後面方括號裡面語句的邏輯關係,這裡是或的意思;pretty美化輸出;
import pymongo
conn = pymongo.Connection(host='127.0.0.1',port=27017)
db = conn.ChatRoom
db.mycol.find({$or:[{“by”:”tutorials point”},{“title”:”MongoDB Overview”}]}).pretty()請注意:
」by」:」tutorials point」,如果對應成SQL語句則是:WHERE by=」tutorials point」
MongoDB的查詢語法和SQL語法是完全不同的

--

--