在手机上管理数据库
完整指南:直接在 PocketCode 中连接、查询并管理 PostgreSQL、MySQL、 MongoDB 等多种数据库。
在你的 Android 上管理数据库
PocketCode 的数据库模块支持 多种不同的引擎,让你无需电脑即可管理数据。有些引擎提供完整的 SQL 控制台;另一些(MongoDB、Redis、Firestore)只有浏览器,本文会说明具体是哪些。
支持的引擎
- PostgreSQL — 内嵌在手机上(64 位 ARM,无需 root),或连接你自己的服务器
- MySQL / MariaDB — 你自己的服务器(没有本地 MariaDB)
- Neon — 无服务器 Postgres
- Supabase — 带 REST API 的托管式 PostgreSQL
- MongoDB Atlas — 托管集群,通过你的 Atlas 账户打开
- MongoDB — 你自己的服务器,NoSQL 文档
- PlanetScale — 无服务器、可扩展的 MySQL
- Turso — 边缘端的 libSQL/SQLite
- Upstash — 无服务器 Redis
- Redis — 你自己的服务器
- Cloudflare D1 — Cloudflare 边缘上的 SQLite
- Cloud Firestore — Firebase 的文档数据库
快速连接
PostgreSQL
-- Connection setup
-- Host: db.myproject.com
-- Port: 5432
-- Database: production
-- User: admin
-- SSL: Required
-- Once connected, run queries directly
SELECT
u.name,
COUNT(o.id) as total_orders,
SUM(o.amount) as total_spent
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.created_at >= '2024-01-01'
GROUP BY u.name
ORDER BY total_spent DESC
LIMIT 10;
MongoDB
# 连接你自己的服务器或 Atlas
# URI: mongodb+srv://user:[email protected]/mydb
粘贴 URI,PocketCode 会自动填好表单(mongodb+srv:// 地址会通过 DNS over HTTPS 解析)。测试连接会做一次真实的 ping,包括 TLS 和登录。之后你得到的是该数据库的集合列表,每个集合附带文档数。此版本没有 MongoDB shell、查询编辑器或聚合构建器,所以无法在应用中运行 find 或 aggregate。
PostgreSQL(内嵌,本地)
如果你想在设备上拥有一个真正的数据库,又不想租用服务器,这是最合适的选择。它是在应用内运行的 PostgreSQL 18.2,因此你编写的是标准 PostgreSQL SQL。它仅提供给 64 位 ARM 手机(x86_64 模拟器和 Chromebook 上不可用)。应用登录需要联网;已有登录会话时打开应用可离线使用,之后本地数据库在设备上运行:
-- 创建本地表
CREATE TABLE IF NOT EXISTS notes (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
title TEXT NOT NULL,
content TEXT,
created_at TIMESTAMPTZ DEFAULT now(),
updated_at TIMESTAMPTZ DEFAULT now()
);
-- 插入笔记
INSERT INTO notes (title, content)
VALUES ('我的第一条笔记', '在 PocketCode 中创建');
-- 搜索笔记(不区分大小写)
SELECT * FROM notes
WHERE title ILIKE '%pocket%'
ORDER BY updated_at DESC;
管理器功能
可视化浏览器
侧边面板列出你的连接及其表。表的详情页提供列、索引、键、触发器和 DDL 标签页,此外还有 ER 图、表结构设计器、执行计划和备份。远程 MySQL 不会列出索引、外键或触发器。
查询编辑器
- 按方言(PostgreSQL、MySQL、SQLite)进行 SQL 语法高亮
- 一排补全建议,涵盖关键字、表、视图、列和函数
- 查询历史(500 条)、已保存的查询和多个标签页
- 导出结果(CSV、JSON 等格式);控制台每次查询最多保留 500 行
- MongoDB、Redis、Upstash 和 Firestore 没有 SQL 控制台
数据查看器
- 每页 100 行,按主键排序
- 点按列标题排序,并使用筛选面板(12 种运算符;BETWEEN 暂时不可用)
- 长按单元格进行编辑,或选择多行后复制或导出;编辑和删除需要可用的主键
- 此版本中「插入行」不会打开表单
应用场景
生产环境调试
-- Find recent errors
SELECT error_message, COUNT(*) as count, MAX(created_at) as last_seen
FROM error_logs
WHERE created_at >= NOW() - INTERVAL '1 hour'
GROUP BY error_message
ORDER BY count DESC;
快速监控
-- Database status
SELECT
schemaname,
relname as table_name,
n_live_tup as row_count,
pg_size_pretty(pg_total_relation_size(relid)) as total_size
FROM pg_stat_user_tables
ORDER BY n_live_tup DESC;
紧急迁移
在 Neon、Supabase、Turso 和 Cloudflare D1 上,控制台默认处于只读模式;关闭它之后,每次写入在执行前都会显示它将做什么(破坏性写入还会要求确认)。在任何连接上,危险语句都会先经过安全模式检查。
-- Add urgent column
ALTER TABLE users ADD COLUMN phone VARCHAR(20);
-- Backfill data
UPDATE users SET phone = profiles.phone
FROM profiles WHERE users.id = profiles.user_id;
-- Verify
SELECT COUNT(*) FROM users WHERE phone IS NOT NULL;
安全性
- 凭据以加密方式存储在设备上
- 支持 SSL/TLS 连接
- 为 PostgreSQL 和 MySQL / MariaDB 连接提供 SSH 隧道选项(对其他引擎无效)
- PocketCode 没有自己的服务器夹在中间:应用直接与本地引擎、你的主机或服务商的 API 通信,连接信息不会同步到云端
免费套餐的限制
在免费套餐中,你可以保存一个自己的连接和一个本地数据库,每个连接最多创建 4 张表,保存 5 条查询,并使用 2 个控制台标签页。Pro 会取消这些限制。
在手机上管理数据库不再意味着妥协。借助 PocketCode,你可以获得支持多种不同引擎的完整客户端,就装在你的口袋里。
数据库管理器