关于 surrealdb-python
surrealdb-python 是用于操作 SurrealDB 的 Python SDK,支持连接服务端,也可在进程内嵌入运行,并使用内存或文件存储。
主要功能
- 01同步与异步客户端
- 02通过 WebSocket 连接服务端
- 03嵌入式内存数据库
- 04嵌入式文件持久化
适用场景
- 01让 Python 应用连接 SurrealDB 服务端
- 02在 Python 进程内运行 SurrealDB
- 03将嵌入式数据库数据持久化到文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ surrealdb/ agent-skills --skill surrealdb-python安装后在 Claude Code 中输入/surrealdb-python确认已加载。
附带文件references/embedded.md
详细介绍
SurrealDB Python SDK
运行 SurrealDB(服务端模式)
使用 RocksDB 持久化数据:
surreal start -u root -p root rocksdb:database
内存模式:
surreal start -u root -p root
客户端/服务端模式
使用 Surreal 上下文管理器通过 WebSocket 连接:
from surrealdb import Surreal
with Surreal("ws://localhost:8000/rpc") as db:
db.signin({"username": "root", "password": "root"})
db.use("namespace_test", "database_test")
db.create(
"person",
{
"user": "me",
"password": "safe",
"marketing": True,
"tags": ["python", "documentation"],
},
)
print(db.select("person"))
print(db.update("person", {
"user": "you",
"password": "very_safe",
"marketing": False,
"tags": ["Awesome"],
}))
print(db.delete("person"))
db.query("""
insert into person {
user: 'me',
password: 'very_safe',
tags: ['python', 'documentation']
};
""")
print(db.query("select * from person"))
print(db.query("""
update person content {
user: 'you',
password: 'more_safe',
tags: ['awesome']
};
"""))
print(db.query("delete person"))
嵌入式模式
直接在 Python 进程中运行 SurrealDB,无需服务。
- 内存模式:
Surreal("mem://")/AsyncSurreal("mem://") - 基于文件的持久化:
Surreal(f"file://{db_path}")/AsyncSurreal(f"file://{db_path}")
请参阅 references/embedded.md,了解一个使用基于文件持久化的完整异步示例。
评论
支持 Markdown