HadiDB (hadidb) 是一个用Python编写的轻量级数据库,具备高度水平的可扩展性。
安装HadiDB
使用pip安装:
立即学习“Python免费学习笔记(深入)”;
pip install hadidb
用户管理
创建用户:createuser() 方法创建一个新用户。authentication() 方法验证用户身份。
from hadidb.operation import user user_obj = user("admin", "admin") user_obj.createuser() # 创建用户 user_obj.authentication() # 验证用户
返回结果示例:
{'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) 方法插入数据。
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 = { "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)
-
按ID获取数据: db.getbyid(1) 方法按ID获取数据。
-
获取所有数据: db.getall() 方法获取所有数据。
-
按键获取数据: db.getbykey() 和 db.getbykeys() 方法按键获取数据。
-
计数: db.count() 方法统计数据数量。db.getbykeycount() 方法统计指定键值对匹配的数据数量。
-
删除数据: db.delete(1) 方法删除数据。
数据库和集合管理
-
获取所有数据库: configuration().get_database() 方法获取所有数据库。
-
获取所有集合: configuration(database).get_collection() 方法获取指定数据库的所有集合。
-
获取模式: configuration(database, collection).get_schema() 方法获取指定集合的模式。
-
删除集合: databasedeletionservice().deletecollection() 方法删除集合。
-
删除数据库: databasedeletionservice().deleteDatabase() 方法删除数据库。
项目链接
- gitHub: https://www.php.cn/link/e8630344970962450dbedfcd4cc6d718
- 网站: https://www.php.cn/link/2c6037040bf5058a44be4c0397611909
- 开发者: 莫明·伊克巴尔
这个版本对原文进行了重新组织和润色,使其更清晰易读,并对代码部分进行了格式化,使其更易于理解。 所有图片链接都保留了。