ホームページ > データベース > mysql チュートリアル > HadiDB: Python による軽量で水平方向にスケーラブルなデータベース

HadiDB: Python による軽量で水平方向にスケーラブルなデータベース

Linda Hamilton
リリース: 2024-12-26 01:37:09
オリジナル
756 人が閲覧しました

HadiDB: A Lightweight, Horizontally Scalable Database in Python

ハディDB

HadiDB は、Python で書かれた軽量で水平方向に拡張性の高いデータベースです。

Haiddbのインストール方法

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'}
ログイン後にコピー
ログイン後にコピー

データベース、コレクション、スキーマの作成

このコードは、データベース コレクションのユーザー資格情報とスキーマを設定します。指定されたユーザー名、パスワード、データベース、コレクションを含む Operation クラスを使用して、データベース操作を初期化します。最後に、提供されたデータをコレクションに挿入し、結果を保存します。

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

getbykey メソッドは、指定されたキーと値のペアが一致するすべてのドキュメントをデータベースから取得します。複数のキー値のペアはサポートされません

result = db.getbykey({
    "username":"momin"
 })
print(result)
ログイン後にコピー

GetByKeys

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}
ログイン後にコピー

ゲイバイキーカウント

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() メソッドを使用して、特定のコレクションのスキーマを返します。

{'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 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート