首页 > 数据库 > mysql教程 > HadiDB:Python 中的轻量级、可水平扩展的数据库

HadiDB:Python 中的轻量级、可水平扩展的数据库

Linda Hamilton
发布: 2024-12-26 01:37:09
原创
760 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板