SQLPub API 使用指南

SQLPub 提供 REST API,方便开发者通过程序查询和执行 SQL。API Key 在控制台 个人中心 → 密钥管理(/account/apikey)中创建和管理。

MySQL 与 PostgreSQL 使用不同路径,请勿混用。

创建 API Key

  1. 登录 控制台。
  2. 进入 个人中心 → 密钥管理。
  3. 点击创建,设置权限:
    • query:只读查询
    • execute:执行写操作
  4. 妥善保存 Key。

创建条件:账号下需有正常状态的付费 MySQL 共享库(基础版等),或正常状态的 PostgreSQL 共享库。每账号最多 2 个 Key。

认证

所有请求需在 Header 中携带 API Key:

Authorization: Bearer <your_api_key>
Content-Type: application/json

基础 URL

https://api.sqlpub.com/api/v1

MySQL 共享库

查询

POST /databases/{database_name}/query
curl -X POST "https://api.sqlpub.com/api/v1/databases/my_db/query" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT * FROM users", "current": 1, "pageSize": 10}'
  • Body:sql、current、pageSize(必填;服务端自动拼接 LIMIT,SQL 中勿再写 LIMIT)
  • 成功时 data 为行对象数组

执行

POST /databases/{database_name}/execute
curl -X POST "https://api.sqlpub.com/api/v1/databases/my_db/execute" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sql": "INSERT INTO users (name) VALUES (\"test\")"}'
  • 成功时 data 为 { "rowsAffected": 1, "lastInsertId": 0 }

PostgreSQL 共享库

路径前缀为 /pgsql,与 MySQL 隔离。

查询

POST /pgsql/databases/{database_name}/query
curl -X POST "https://api.sqlpub.com/api/v1/pgsql/databases/my_pg/query" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT * FROM items", "current": 1, "pageSize": 10}'
  • Body 同 MySQL:sql、current、pageSize;服务端拼接 LIMIT n OFFSET m,SQL 中勿再写 LIMIT
  • 成功时 data 为行对象数组
  • 时间列:timestamp 返回墙钟字符串(如 2026-10-15 21:29:31.51141);timestamptz 返回带偏移的 RFC3339(如 ...+08:00)
  • 默认 schema 为 public;其它 schema 请写 schema.table

执行

POST /pgsql/databases/{database_name}/execute
curl -X POST "https://api.sqlpub.com/api/v1/pgsql/databases/my_pg/execute" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sql": "INSERT INTO items(name) VALUES('\''a'\'') RETURNING id"}'
  • 成功时 data 为 { "rowsAffected": 1, "rows": [ ... ] }
  • 无 RETURNING 时 rows 为空数组 []
  • 有 RETURNING 时,返回行在 rows 中(不提供 lastInsertId,请用 RETURNING 取主键)

注意事项

  • API Key 请妥善保管,不要提交到代码仓库。
  • 可在密钥管理页面随时启用、禁用或删除 Key;权限不足时返回 403。
  • 高频请求请做好节流,避免触发限流。
  • 控制台密钥管理页面提供调用示例。

相关文档