🚀 BabySql:一个简化数据库操作的 Python 库
概述
BabySql 是一个专为简化数据库操作设计的 Python 库,支持多种数据库后端(MySQL、MariaDB、PostgreSQL 和 SQLite)。它通过统一的接口提供 表管理、数据操作、数据库管理 等功能,旨在降低开发者与不同数据库交互的复杂度。
✅ 核心特性
多数据库支持:MySQL、MariaDB、PostgreSQL、SQLite。
统一接口:通过链式调用实现增删改查、表结构管理。
高可扩展性:支持自定义字段类型、索引、注释等。
轻量易用:无需复杂的 SQL 编写,通过方法链快速操作。
📦 安装方式
# 通过 PyPI 安装
pip install babySql
# 或从源码安装
git clone https://github.com/yanshi121/BabySql.git
cd BabySql
python setup.py install🔧 快速入门
1. 获取数据库连接
支持直接使用 BabySql 类或指定数据库的子类(如 MySQL, PostgreSQL)。
使用通用类
from babySql import BabySql
ms = BabySql(
dt_type="mysql", # 数据库类型
host="127.0.0.1",
port=3306,
user="root",
passwd="root123",
db="test",
max_connections=50 # 最大连接数
)使用子类
from babySql import MySQL, PostgreSQL, SqLite
# MySQL 示例
db = MySQL(
host="127.0.0.1",
port=3306,
user="root",
passwd="root123",
db="test"
)
# PostgreSQL 示例(注意端口为 5432)
pg = PostgreSQL(
host="127.0.0.1",
port=5432,
user="postgres",
passwd="123456",
db="mydb"
)
# SQLite 示例(无需主机和端口)
sl = SqLite(db="test.db")🛠️ 核心功能
1. 数据操作
插入数据
db.insert("test_table", ["id", "name", "age"], [1, "Rose", 4])查询数据
# 查询 name 为 "Rose" 的记录
data = db.select("test_table", ["id", "name", "age"]).equal("name", "Rose").run()
# 查询 name 包含 "R" 的记录
data = db.select("test_table", ["id", "name", "age"]).like("name", "R").run()更新数据
# 将 name 包含 "R" 的记录的 age 修改为 3
db.update("test_table", {"age": 3}).like("name", "R").run()删除数据
# 删除 age < 2 或 name 以 "B" 开头的记录
db.delete("test_table").less("age", 2).like_start("name", "B", "or").run()2. 数据库管理
创建数据库
db.create_database("test_database", collate="utf8mb4_general_ci", character="utf8mb4")删除数据库
db.drop_database("test_database")查看数据库
databases = db.show_database() # 显示所有数据库3. 数据表管理
创建表
table = db.create_table("test_table", "测试表")
# 添加字段
table.column("id").type("int").auto_increment().comment("主键")
table.column("name").type("varchar", 255).comment("姓名")
table.column("age").type("int").comment("年龄")
# 添加索引
table.add_index("id", "idx_id") # 为 id 字段添加索引
# 创建表
table.build()修改表
# 修改表名
db.alter_table_name("old_table", "new_table")
# 添加字段
db.add_column("test_table", "email", "varchar", 255)
# 删除字段
db.drop_column("test_table", "email")
# 修改字段名和类型
db.alter_column_name("test_table", "email", "new_email", "text")
db.alter_column_type("test_table", "new_email", "varchar", 512)删除表
db.drop_table("test_table")查看表
tables = db.show_table() # 当前数据库的所有表
tables_in_db = db.show_table_by_database_name("test_database") # 指定数据库的表⚠️ 注意事项
SQLite 路径:SQLite 无需主机和端口,直接指定数据库文件路径即可。
字段类型兼容性:不同数据库的字段类型(如
text、varchar)可能略有差异,需根据目标数据库调整。
📚 项目资源
GitHub 地址:https://github.com/yanshi121/BabySql
文档:当前文档基于源码注释,建议通过 GitHub 查看完整示例。
📞 联系与贡献
提交 Issues:在 GitHub 上反馈问题或提出建议。
贡献代码:Fork 仓库并提交 Pull Request。
联系方式:GitHub 或邮件(DY39project@outlook.com)。
🌟 结语
BabySql 的目标是为开发者提供一个 低门槛、高效率 的数据库操作工具。无论你是新手还是资深开发者,都可以通过它快速实现数据库交互。欢迎尝试并贡献你的想法!
📝 附:版本信息
当前版本:
0.1.0.2(发布于 2025-07-08)许可证:MIT License(请查看
LICENSE文件)
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

