c9259b51c7e0d8bc67663550a61a0e726273a830
多数据库交互脚本
一个支持多种数据库的 Python 交互式命令行工具,可以方便地连接和操作各种数据库。
支持的数据库
- ✅ MySQL
- ✅ MongoDB
- ✅ Redis
- ✅ SQLite
- ✅ PostgreSQL
系统支持
- ✅ Windows
- ✅ Linux
- ✅ macOS
- ✅ Termux (Android)
安装依赖
# 安装所有依赖
pip install -r requirements.txt
# 或者单独安装需要的数据库驱动
pip install pymysql # MySQL
pip install pymongo # MongoDB
pip install redis # Redis
pip install psycopg2-binary # PostgreSQL
# SQLite 是 Python 内置模块,无需安装
使用方法
1. 启动脚本
python main.py
2. 选择数据库类型
启动后会提示选择数据库类型:
请选择数据库类型:
1. MySQL
2. MongoDB
3. Redis
4. SQLite
5. PostgreSQL
3. 输入连接信息
根据提示输入数据库的连接信息(主机、端口、用户名、密码等)。
4. 执行命令
连接成功后,就可以输入相应的命令进行数据库操作。
命令示例
MySQL / PostgreSQL / SQLite
-- 查询
SELECT * FROM users;
SELECT name, age FROM users WHERE age > 18;
-- 插入
INSERT INTO users (name, age) VALUES ('张三', 25);
-- 更新
UPDATE users SET age = 26 WHERE name = '张三';
-- 删除
DELETE FROM users WHERE name = '张三';
-- 创建表
CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);
MongoDB
MongoDB 使用 JSON 格式的命令:
// 查询所有文档
{"collection": "users", "operation": "find", "query": {}}
// 条件查询
{"collection": "users", "operation": "find", "query": {"age": {"$gt": 18}}}
// 插入文档
{"collection": "users", "operation": "insert", "document": {"name": "张三", "age": 25}}
// 更新文档
{"collection": "users", "operation": "update", "query": {"name": "张三"}, "update": {"$set": {"age": 26}}}
// 删除文档
{"collection": "users", "operation": "delete", "query": {"name": "张三"}}
// 统计数量
{"collection": "users", "operation": "count", "query": {}}
Redis
# 字符串操作
SET name 张三
GET name
DEL name
# 哈希操作
HSET user:1 name 张三
HSET user:1 age 25
HGET user:1 name
HGETALL user:1
# 列表操作
LPUSH mylist item1 item2 item3
LRANGE mylist 0 -1
# 集合操作
SADD myset member1 member2
SMEMBERS myset
# 查询所有键
KEYS *
# 测试连接
PING
内置命令
help- 显示帮助信息connect- 连接到数据库disconnect- 断开数据库连接status- 查看连接状态switch <db>- 切换数据库类型 (mysql/mongodb/redis/sqlite/postgres)quit或exit- 退出程序
文件说明
main.py- 主程序入口mysql.py- MySQL 数据库操作模块mongodb.py- MongoDB 数据库操作模块redis.py- Redis 数据库操作模块sqlite.py- SQLite 数据库操作模块postgres.py- PostgreSQL 数据库操作模块requirements.txt- 依赖包列表
注意事项
- 首次使用前请确保已安装相应的数据库驱动
- SQLite 会在当前目录创建数据库文件
- 确保数据库服务已启动并可以访问
- 使用完毕后建议执行
disconnect命令断开连接
常见问题
Q: 连接失败怎么办?
A: 请检查:
- 数据库服务是否已启动
- 主机地址和端口是否正确
- 用户名和密码是否正确
- 防火墙是否允许连接
Q: Redis 连接时提示 "module 'redis' has no attribute 'Redis'" 怎么办?
A: 这个问题已经修复。如果仍然遇到,请:
- 确保安装了正确的 redis 包:
pip install redis - 检查是否有其他名为 redis.py 的文件冲突
- 运行测试脚本检查依赖:
python test_import.py
Q: 如何检查依赖是否正确安装?
A: 运行测试脚本:
python test_import.py
这将检查所有必需的数据库驱动是否正确安装。
Q: 如何在 Termux 中使用?
A: 在 Termux 中需要先安装 Python 和必要的依赖:
pkg install python
pkg install build-essential # 编译某些包需要
pip install -r requirements.txt
Q: 如何切换数据库?
A: 使用 switch <数据库类型> 命令,例如:
switch mysql
switch mongodb
Q: MongoDB 需要用户认证怎么办?
A: 在配置时会询问是否需要认证,选择 y 后输入用户名和密码即可。
许可证
MIT License
Description
Languages
Python
100%