Tutorial
在手机上管理数据库
完整指南:直接在 Pocket Code 中连接、查询并管理 PostgreSQL、MySQL、 MongoDB 等多种数据库。
3 min
作者 Pocket Code Team在你的 Android 上管理数据库
Pocket Code 的数据库模块支持 8 种不同的引擎,让你无需电脑即可管理数据。
支持的引擎
- PostgreSQL — 高级关系型数据库
- MySQL / MariaDB — 全球最流行的关系型数据库管理系统
- SQLite — 本地无服务器数据库
- MongoDB — 灵活的 NoSQL 文档数据库
- Redis — 缓存与键值存储
- Firestore — Firebase 实时数据库
- Supabase — 带 REST API 的托管式 PostgreSQL
- PlanetScale — 无服务器、可扩展的 MySQL
快速连接
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
// Connect to MongoDB Atlas
// URI: mongodb+srv://user:[email protected]/mydb
// Find documents
db.products
.find({
category: "electronics",
price: { $lt: 500 },
stock: { $gt: 0 },
})
.sort({ rating: -1 })
.limit(20);
// Aggregate data
db.orders.aggregate([
{ $match: { status: "completed" } },
{
$group: {
_id: "$product_id",
total: { $sum: "$amount" },
count: { $sum: 1 },
},
},
{ $sort: { total: -1 } },
]);
SQLite(本地)
非常适合需要离线工作的应用:
-- Create local table
CREATE TABLE IF NOT EXISTS notes (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
content TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Insert note
INSERT INTO notes (title, content)
VALUES ('My first note', 'Created from Pocket Code');
-- Search notes
SELECT * FROM notes
WHERE title LIKE '%pocket%'
ORDER BY updated_at DESC;
管理器功能
可视化浏览器
侧边面板会有条理地展示你的所有连接:
- 连接:保存时带有按类型区分的颜色标记
- 表 / 集合:带有文件夹图标
- 列:显示可见的数据类型
- 索引和关系
查询编辑器
- 对 SQL、MongoDB 查询等提供语法高亮
- 表、列与函数的自动补全
- 查询执行历史
- 将结果导出为 CSV 或 JSON
结果可视化
- 支持横向滚动的表格视图
- 按任意列排序
- 实时筛选结果
- 复制单个单元格或整行
应用场景
生产环境调试
-- 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;
紧急迁移
-- 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 连接
- 提供 SSH 隧道选项以实现安全连接
- 我们绝不会在服务器上存储你的连接数据
在手机上管理数据库不再意味着妥协。借助 Pocket Code,你可以获得支持 8 种不同引擎的完整客户端,就装在你的口袋里。