第五章 Python SDK

5.1 安装与引入

Python SDK为单文件模块,将 sxdb_client.py 复制到项目目录即可使用。无需安装任何第三方依赖,仅使用Python标准库socket和json模块。

from sxdb_client import SxdbClient, SxdbResultSet

5.2 客户端核心API

方法参数说明
connect()-连接服务器
login(user, pass)用户名、密码认证登录
open_db(db)数据库名打开数据库
execute(db, sql, params)库名、SQL、参数执行DDL/DML
query(db, sql, params)库名、SQL、参数查询数据
batch(db, statements)库名、SQL列表批量执行
insert(db, table, data)库名、表名、字段字典插入一行
select(db, table, ...)多个查询参数简化查询
close()-关闭连接

5.3 基本使用示例

from sxdb_client import SxdbClient

使用 context manager 自动管理连接

with SxdbClient("127.0.0.1", 31111) as client:

登录

client.login("admin", "admin123")

client.open_db("myapp")

创建表

client.execute("myapp",

"CREATE TABLE IF NOT EXISTS orders("

"id INTEGER PRIMARY KEY AUTOINCREMENT, "

"product TEXT, quantity INTEGER, total REAL)")

插入数据 (便捷方法)

client.insert("myapp", "orders", {

"product": "电子书",

"quantity": 3,

"total": 89.7

})

查询数据 (便捷方法)

result = client.select("myapp", "orders",

columns="*", where="quantity > 1",

order_by="total DESC", limit=10)

解析结果

rs = result["data"]

print(rs["columns"]) # ["id","product","quantity","total"]

for row in rs["rows"]:print(row)
client.close_db("myapp")代码5-1 Python 基本使用示例

5.4 高级用法:批量操作

from sxdb_client import SxdbClient, SxdbResultSet

client = SxdbClient("127.0.0.1", 31111)

client.connect()

client.login("admin", "admin123")

批量执行多条SQL

result = client.batch("myapp", [

{"sql": "INSERT INTO orders(product,quantity,total) VALUES(?,?,?)",

"params": ["手机", 1, 4999]},

{"sql": "INSERT INTO orders(product,quantity,total) VALUES(?,?,?)",

"params": ["耳机", 2, 198]},

{"sql": "INSERT INTO orders(product,quantity,total) VALUES(?,?,?)",

"params": ["充电器", 1, 129]},

])

print("Batch result:", result)

使用 SxdbResultSet 封装结果

raw = client.query("myapp", "SELECT * FROM orders WHERE total > 100")

rs = SxdbResultSet(raw)

for row in rs:

print(f" {row['product']}: {row['total']:.2f}")

client.close()

代码5-2 Python 批量操作与结果封装

results matching ""

    No results matching ""