# 基于Gitee的数据库 **Repository Path**: noctisynth/sqlee ## Basic Information - **Project Name**: 基于Gitee的数据库 - **Description**: 基于Gitee API的数据库ORM系统 - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-08-07 - **Last Updated**: 2023-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sqlee ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/sqlee) [![PyPI](https://img.shields.io/pypi/v/sqlee)](https://pypi.org/project/sqlee/) ![PyPI - Wheel](https://img.shields.io/pypi/wheel/sqlee) [![PyPI - Downloads](https://img.shields.io/pypi/dw/sqlee)](https://pypi.org/project/sqlee/) ![PyPI - License](https://img.shields.io/pypi/l/sqlee) 由未知访客团队(Unknown Visitor)开发的基于 Gitee API 搭建的数据存储系统, 由于对于不少个体开发者来说, 云服务器与云数据库都是一个令人头痛的事情. 因为大多数这类用户甚至都很难完全利用到云服务器与云数据库的大部分功能, 然而这并不能减少他们在云服务器与云数据库上的花销, 毕竟无论是阿里云、腾讯云和百度云还是其它等等云服务供应商都不会因为你使用的功能不全而为你减免费用. 这时候, 你便可以使用 Sqlee, 它基于 Gitee API, 因此, 它的效率的确远不如 Mysql、Sqlite3、Postgresql 等等的数据库, 但是对于个体用户, 它的性能绰绰有余. 哦, 感谢 Gitee. ## 语言 支持 [JavaScript Sqlee](https://gitee.com/unvisitor/sqlee-js/) 与 [Python Sqlee](https://gitee.com/unvisitor/sqlee/). ## 安装 打开终端, 执行: ``` pip install sqlee ``` 在此之前, 请确保你已经正确安装配置了`python3`和`python3-pip`. ### Sqlee目录树 ``` ├─utils │ │ backend.py │ │ crypto.py │ │ exceptions.py │ │ gitee.py │ │ urlparse.py │ │ __init__.py │ │ │ └─django │ handler.py │ models.py │ verify.py │ __init__.py ├─sqlee.py └─__init__.py ``` ## 基本使用 ### 创建新的 Sqlee 数据库 ```python from sqlee.utils import gitee gitee.make_repo(name="数据库名", token="Gitee API Token", user="Gitee用户名") ``` ### 连接已有的 Sqlee 数据库 你可以使用以下代码来创建一个新的数据库实例: ```python import sqlee db = sqlee.connect( access_token = "你的Gitee API Token", user = "你的Gitee用户名", name = "你的数据库名", ) ``` ### 创建表 ```python db.objects.create(name="表名", namespace=["索引", "命名域1", "命名域2"]) ``` ### 删除表 ```python db.objects.delete(name="表名") ``` ### 读取表 ```python db.objects.all() #读取所有表(同时捕获所有数据) db.objects.get(name="实例表名") #读取指定数据表(同时捕获该表所有数据) db.objects.get(name="实例表名", directly_load=False) #读取指定数据表(但不捕获该表所有数据) ``` ### 数据的读取与筛选 ```python table = db.objects.get(name="Table") table.objects.all() #读取全部的数据 table.objects.create(index=0, name1=1, name2=2) #创建新的数据 table.objects.get(index=0) #读取索引为 int 0 的数据(如果筛选出了多个数据,它将抛出异常) table.objects.get(index=0).delete() #删除索引为 int 0 的数据 table.objects.filter(name1=1) #筛选命名域 name1 值为 int 1 的数据栏 ``` Sqlee和其它的数据库不同,它并不强制你在同一栏的同一命名域中使用同样类型的数据,同时,任何数据对于Sqlee来说都是可被存储的。同时,Sqlee和其它的数据库不同,它的索引并不一定为`id: int`,它同样可以是`index: str`,当然,你同样可以将命名域的第一位设置为`id`,但是在创建新的数据栏时,你不必传入栏`id`的数据,否则它将抛出`ValueError`的异常. 值得注意的是,如果你采用索引来读取和筛选数据,它将提供一个更加迅捷的查询. ### 命令行 `db.interact()` ## 版权 未知访客(Unkown Visitor)是一个非盈利的开发团队, 使用或修改我们的代码应当遵循开源协议. Copyright © 2011-2021 Unkown Visitor. All Rights Reserved.