跳转到内容
返回首页
返回博客
Tutorial

在手机上管理数据库

完整指南:直接在 PocketCode 中连接、查询并管理 PostgreSQL、MySQL、 MongoDB 等多种数据库。

3 min
作者 PocketCode Team
在手机上管理数据库

在你的 Android 上管理数据库

PocketCode 的数据库模块支持 9 种不同的引擎,让你无需电脑即可管理数据。

支持的引擎

  • PostgreSQL — 应用内嵌入的完整服务器(无需 root,可离线使用)
  • Neon — 无服务器 Postgres
  • Supabase — 带 REST API 的托管式 PostgreSQL
  • SQLite — 本地、无服务器数据库
  • MongoDB — 灵活的 NoSQL 文档
  • PlanetScale — 无服务器、可扩展的 MySQL
  • Turso — 边缘端的 libSQL/SQLite
  • Upstash — 无服务器 Redis
  • 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

// 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 PocketCode');

-- 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 隧道选项以实现安全连接
  • 我们绝不会在服务器上存储你的连接数据

在手机上管理数据库不再意味着妥协。借助 PocketCode,你可以获得支持 9 种不同引擎的完整客户端,就装在你的口袋里。

本文背后的工具

数据库管理器

准备好试用 PocketCode 了吗?

下载应用,开始用手机编程。