개요
- 본인 스키마(
{아이디}DB)만 사용합니다. - POST + JSON +
Authorization: Bearer zyo_… - 한 요청에 SQL 한 문만 실행할 수 있습니다.
- 주석(
--,/* */,#)은 사용할 수 없습니다.
Developer · Hosting
호스팅 탭에서 발급한 Bearer 토큰으로 본인 MariaDB에 HTTPS POST로 제한된 SQL을 실행합니다. SSH·SFTP 없이 앱·에이전트에서 DB를 다룰 때 사용합니다.
{아이디} DB)만 사용합니다.Authorization: Bearer zyo_…--, /* */, #)은 사용할 수 없습니다.zyo_ 로 시작하는 문자열을 안전한 곳에 저장합니다. 지금 한 번만 보입니다.토큰이 유출되면 본인 DB에 쓰기·삭제가 가능합니다. 공개 저장소·채팅에 올리지 마세요.
https://zyo.kr/api/db_api.phpPOST onlyAuthorization: Bearer zyo_<48 hex>application/json; charset=utf-8{
"sql": "SELECT DATABASE() AS db"
}
query 키도 sql 과 동일하게 받을 수 있습니다. 최대 약 8,000자.
공통: ok: true|false. 실패 시 error, message.
{
"ok": true,
"username": "myid",
"database": "myid",
"domain": "zyo.kr",
"type": "resultset",
"columns": ["db"],
"rows": [{ "db": "myid" }],
"row_count": 1
}
{
"ok": true,
"username": "myid",
"database": "myid",
"domain": "zyo.kr",
"type": "ok",
"message": "executed",
"raw": "…"
}
SELECT · SHOW · DESCRIBE · DESC · EXPLAININSERT · UPDATE · DELETECREATE TABLE · ALTER TABLE · DROP TABLE · TRUNCATE TABLEUSEDROP/CREATE DATABASE, 사용자·권한 변경LOAD DATA · INTO OUTFILE · LOAD_FILEINFORMATION_SCHEMA · SLEEP · 주석; 구분)curl -sS -X POST 'https://zyo.kr/api/db_api.php' \
-H 'Authorization: Bearer zyo_YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"sql":"SELECT DATABASE() AS db"}'
const res = await fetch('https://zyo.kr/api/db_api.php', {
method: 'POST',
headers: {
'Authorization': 'Bearer zyo_YOUR_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ sql: 'SELECT 1 AS n' }),
});
const data = await res.json();
if (!data.ok) throw new Error(data.message || 'API error');
console.log(data.rows);
import requests
r = requests.post(
'https://zyo.kr/api/db_api.php',
headers={
'Authorization': 'Bearer zyo_YOUR_TOKEN',
'Content-Type': 'application/json',
},
json={'sql': 'SHOW TABLES'},
timeout=30,
)
print(r.json())
{
"sql": "CREATE TABLE notes (id INT AUTO_INCREMENT PRIMARY KEY, body TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP)"
}