TinyDB는 순수 Python으로 작성된 경량 데이터베이스로 총 1800줄의 코드만 있고 외부 종속성이 없습니다.
TinyDB의 목표는 소규모 Python 애플리케이션에서 데이터베이스 사용의 어려움을 줄이는 것입니다. 일부 간단한 프로그램의 경우 SQL 데이터베이스를 사용하는 대신 TinyDB를 사용하는 것이 더 좋습니다.
시작하기 전에 Python과 pip가 컴퓨터에 성공적으로 설치되었는지 확인해야 합니다.
1 Windows 환경 Cmd(Start-Run-CMD)를 엽니다.
2. MacOS 환경 터미널을 엽니다(터미널에 들어가려면 Command+Space).
3. VSCode 편집기나 Pycharm을 사용하는 경우 인터페이스 하단의 터미널을 직접 사용할 수 있습니다.
pip install tinydb
DB 파일 초기화:
from tinydb import TinyDB db = TinyDB('db.json')
이렇게 하면 현재 폴더에 'db.json'이라는 데이터베이스 파일이 아래에 생성됩니다.
데이터 삽입:
from tinydb import TinyDB db = TinyDB('db.json') db.insert({'type': 'apple', 'count': 7}) db.insert({'type': 'peach', 'count': 3})
보시다시피 사전 데이터를 아무런 처리 없이 데이터베이스에 직접 삽입할 수 있습니다. 일괄 삽입 방법은 다음과 같습니다.
db.insert_multiple([ {'name': 'John', 'age': 22}, {'name': 'John', 'age': 37}]) db.insert_multiple({'int': 1, 'value': i} for i in range(2))
모든 데이터 쿼리:
from tinydb import TinyDB db = TinyDB('db.json') db.all() # [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]
.all() 외에도 for 루프를 사용하여 db를 탐색할 수도 있습니다.
from tinydb import TinyDB db = TinyDB('db.json') for item in db: print(item) # {'count': 7, 'type': 'apple'} # {'count': 3, 'type': 'peach'}
특정 데이터를 검색해야 하는 경우 쿼리()를 사용할 수 있습니다:
from tinydb import TinyDB db = TinyDB('db.json') Fruit = Query() db.search(Fruit.type == 'peach') # [{'count': 3, 'type': 'peach'}] db.search(Fruit.count > 5) # [{'count': 7, 'type': 'apple'}]
데이터 업데이트:
from tinydb import TinyDB db = TinyDB('db.json') db.update({'foo': 'bar'}) # 删除某个Key from tinydb.operations import delete db.update(delete('key1'), User.name == 'John')
데이터 삭제:
또한 유사한 조건문을 사용하여 데이터를 삭제할 수 있습니다:
from tinydb import TinyDB db = TinyDB('db.json') db.remove(Fruit.count < 5) db.all() # [{'count': 10, 'type': 'apple'}]
전체 데이터베이스 지우기:
from tinydb import TinyDB db = TinyDB('db.json') db.truncate() db.all() # []
. 데이터에 액세스하기 위해 점 연산자를 사용하려면 기본 Dict 액세스 표기법을 사용할 수도 있습니다.
# 写法1 db.search(User.country-code == 'foo') # 写法2 db.search(User['country-code'] == 'foo')
이 두 가지 작성 방법은 동일합니다.
일반적인 쿼리 연산자(==, , ...) 외에도 TinyDB는 where 문도 지원합니다:
from tinydb import where db.search(where('field') == 'value')
이것은 다음과 동일합니다:
db.search(Query()['field'] == 'value')
이 구문은 중첩된 필드에도 액세스할 수 있습니다:
db.search(where('birthday').year == 1900) # 或者 db.search(where('birthday')['year'] == 1900)
Any 쿼리 방법:
db.search(Group.permissions.any(Permission.type == 'read')) # [{'name': 'user', 'permissions': [{'type': 'read'}]}, # {'name': 'sudo', 'permissions': [{'type': 'read'}, {'type': 'sudo'}]}, # {'name': 'admin', 'permissions': # [{'type': 'read'}, {'type': 'write'}, {'type': 'sudo'}]}]
목록에 단일 항목이 포함되어 있는지 확인:
db.search(User.name.one_of(['jane', 'john']))
TinyDB는 Pandas와 유사한 논리 연산도 지원합니다.
# Negate a query: db.search(~ (User.name == 'John')) # Logical AND: db.search((User.name == 'John') & (User.age <= 30)) # Logical OR: db.search((User.name == 'John') | (User.name == 'Bob'))
TinyDB 소개는 여기에 있으며, 공식 문서를 방문하여 더 많은 사용 방법을 볼 수도 있습니다.
https://www.php.cn/link/8ff3fdef6f5144f50eb2a83cd34baa5d
특히 TinyDB를 기반으로 스토리지 최적화를 원하는 학생의 경우 스토리지 및 미들웨어 장을 자세히 읽을 수 있습니다.
위 내용은 TinyDB는 순수하게 Python으로 작성된 경량 데이터베이스입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!