第五章 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 批量操作与结果封装