>데이터 베이스 >MySQL 튜토리얼 >HadiDB: 가볍고 수평으로 확장 가능한 Python 데이터베이스

HadiDB: 가볍고 수평으로 확장 가능한 Python 데이터베이스

Linda Hamilton
Linda Hamilton원래의
2024-12-26 01:37:09763검색

HadiDB: A Lightweight, Horizontally Scalable Database in Python

하디DB

HadiDB는 Python으로 작성된 가볍고 수평 확장성이 뛰어난 데이터베이스입니다.

하디디비 설치방법

pip install hadidb

사용자 HadiDB 생성

createUser()를 사용하여 예시 사용자 이름 admin 및 예시 비밀번호 admin을 사용하여 새 사용자를 생성합니다. 그런 다음 인증() 메소드를 호출하여 동일한 사용자를 인증합니다.

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
    }
}

GetByID

특정 개체를 검색하려는 문서의 고유 식별자(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}

GeyByKeyCount

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
개발자 : Momin Iqbal

위 내용은 HadiDB: 가볍고 수평으로 확장 가능한 Python 데이터베이스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.