首頁 > 資料庫 > mysql教程 > HadiDB:Python 中的輕量級、可水平擴展的資料庫

HadiDB:Python 中的輕量級、可水平擴展的資料庫

Linda Hamilton
發布: 2024-12-26 01:37:09
原創
756 人瀏覽過

HadiDB: A Lightweight, Horizontally Scalable Database in Python

哈迪資料庫

HadiDB 是一個用 Python 寫的輕量級、高度程度可擴充的資料庫。

如何安裝哈迪資料庫

pip install hadidb
登入後複製
登入後複製

建立用戶HadiDB

使用 createUser() 建立一個具有範例使用者名稱 admin 和範例密碼 admin 的新使用者。然後它透過呼叫authentication()方法來驗證同一用戶。

from HadiDB.operation import User
user = User("admin", "admin")
user.createUser() # Creating a new user in the HadiDB
user.authentication() # Authenticating the HadiDB user
登入後複製
登入後複製
結果:
{'status': 200, 'message': 'Database user Created'}
登入後複製
登入後複製

建立資料庫、集合和模式

此程式碼設定使用者憑證和資料庫集合的架構。它使用具有指定使用者名稱、密碼、資料庫和集合的操作類別來初始化資料庫操作。最後,它將提供的資料插入集合中並儲存結果。

from HadiDB.operation import Operation

username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"

schema = {
    "username":"Unique",
    "password":"Hash",
    "cnic":"Unique",
    "picture":"Image",
    "bio":"Text"
}
db = Operation(username,password,database,collection)
db.create_database(schema)
登入後複製
登入後複製

插入數據

將資料插入集合中使用 db.insert(data) 將資料插入指定的資料庫集合中。

from HadiDB.operation import Operation

username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"


db = Operation(username,password,database,collection)

data = {
    "username":"hadidb",
    "password":"12345",
    "cnic":"123232442",
    "picture":"user/my/hadidb.jpg",
    "bio":"HadiDB is the Best ;)"
}


result = db.insert(data)
print(result)
登入後複製
登入後複製
結果:
{
'status': 200, 
'message': 'Data insert successfully',
'data': {
    'username': 'hadidb', 
    'password': '12345', 
    'cnic': '123232442', 
    'picture': 'user/my/hadidb.jpg', 
    'bio': 'HadiDB is the Best ;)',
     'id': 1
     }
}
登入後複製

更新數據

更新資料 db.update(1, update_data) 使用提供的 update_data 更新資料庫中 ID 為 1 的記錄。

from HadiDB.operation import Operation

username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"


db = Operation(username,password,database,collection)


update_data = {     
    "username": "hadidb_update",
    "password": "123455",
    "cnic": "1232324423",
    "picture": "user/my/hadidb1.jpg",
    "bio": "HadiDB is the Best ;) update bio" 
}

result = db.update(1,update_data)
print(result)
登入後複製
結果:
{
    'status': 200, 
    'message': 'Data Update successfully',
    'data': {
    'username': 'hadidb_update', 
    'password': '123455', 
    'cnic': '1232324423', 
    'picture': 'user/my/hadidb1.jpg', 
    'bio': 'HadiDB is the Best ;) update bio', 
    'id': 1
    }
}
登入後複製

按ID獲取

要檢索特定物件的文件的唯一識別碼 (ID),如果文件不存在,則發生錯誤。

result = db.getbyID(1)
print(result)
登入後複製

取得所有對象

getAll 方法從資料庫中指定的集合中檢索所有文件。

result = db.getAll()
print(result)
登入後複製

按鍵獲取

getbykey 方法從資料庫中檢索指定鍵值對匹配的所有文件。不支援多鍵值對

result = db.getbykey({
    "username":"momin"
 })
print(result)
登入後複製

按鍵獲取

getbykeys 函數使用隱式 AND (&&) 運算。兩個條件範例(cnic 和 bio)如果符合資料庫中的鍵值,則傳回符合的物件。

result = db.getbykeys({
    "cnic":"123232442",
    "bio":"HadiDB is the Best ;) update bio"
})
print(result)
登入後複製

數數

count 方法傳回資料庫中指定集合中存在的文件(或物件)總數。

result = db.count()
print(result)
登入後複製
結果:
{'status': 200, 'count': 1}
登入後複製

Gey按鍵計數

getbykeyCount 方法統計集合中指定鍵值對符合的文件數量。

result = db.getbykeyCount({
    "username":"momin"
    })
登入後複製

刪除

透過唯一識別碼 (id) 從資料庫中刪除文件

result = db.delete(1)
print(result)
登入後複製
結果:
{'status': 200, 'message': 'data delete successful'}
登入後複製

取得所有資料庫

使用Configuration類別的get_database()方法檢索所有可用的資料庫

pip install hadidb
登入後複製
登入後複製

取得所有收藏

使用 Configuration 類別的 get_collection() 方法從特定資料庫檢索所有集合。

from HadiDB.operation import User
user = User("admin", "admin")
user.createUser() # Creating a new user in the HadiDB
user.authentication() # Authenticating the HadiDB user
登入後複製
登入後複製

取得特定集合的模式

使用 Configuration 類別中的 get_schema() 方法傳回特定集合的 Schema。

{'status': 200, 'message': 'Database user Created'}
登入後複製
登入後複製

刪除集合

使用DatabaseDeletionService 類別的deleteCollection() 方法從資料庫中刪除特定集合。

from HadiDB.operation import Operation

username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"

schema = {
    "username":"Unique",
    "password":"Hash",
    "cnic":"Unique",
    "picture":"Image",
    "bio":"Text"
}
db = Operation(username,password,database,collection)
db.create_database(schema)
登入後複製
登入後複製

刪除資料庫

使用DatabaseDeletionService類別的deleteDatabase()方法刪除資料庫。

from HadiDB.operation import Operation

username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authUser"


db = Operation(username,password,database,collection)

data = {
    "username":"hadidb",
    "password":"12345",
    "cnic":"123232442",
    "picture":"user/my/hadidb.jpg",
    "bio":"HadiDB is the Best ;)"
}


result = db.insert(data)
print(result)
登入後複製
登入後複製
GitHub:https://github.com/MominIqbal-1234/hadidb
檢查網址:https://mefiz.com
開發者:莫明·伊克巴爾

以上是HadiDB:Python 中的輕量級、可水平擴展的資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板