# phpyDb **Repository Path**: haowenchang/phpy ## Basic Information - **Project Name**: phpyDb - **Description**: 根据pymysql进行改版的mysql数据库操作类。其仿造于PHP语言框架中常用的DB类。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-12-17 - **Last Updated**: 2024-07-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # phpy #### 介绍 - 本Db类是基于pymysql进行类的封装。 - 主要实现类似于php语言各类框架中的DB模型类。 - Db模型类主要是为了python开发者方便操作mysql数据库而设计。更能为phper开发者学习python操作数据库提供便利。如查询sql: `Db('mysql1').table('tableName').where('id',1).get()` #### 安装教程 1. 直接码云下载 2. 安装pymysql扩展:pip install pymysql 3. 放置到项目任意目录,要确保脚本能够引入Db.py文件 #### 使用说明 > where 、limit 可以跟first与get搭配组合。 > create 新增一条数据,并且默认返回新增主键id | 解释 | DbSql | 原生sql | |---|---|---| | 查询单条数据| `Db('mysql1').table('tableName').first()` | `select * from tableName limit 1` | | 查询多条数据| `Db('mysql1').table('tableName').get()` | `select * from tableName` | | 根据偏移量查询多条数据| `Db('mysql1').table('tableName').limit(1,100).get()` | `select * from tableName limit 1,100` | | 查询带条件的(=)| `Db('mysql1').table('tableName').where('id',1).first()` | `select * from tableName where id = 1 limit 1` | | 查询带条件的(<)| `Db('mysql1').table('tableName').where('id','<',1).first()` | `select * from tableName where id < 1 limit 1` | | 查询带条件的(>)| `Db('mysql1').table('tableName').where('id','>',1).get()` | `select * from tableName where id > 1` | | 查询带条件的(>=)| `Db('mysql1').table('tableName').where('id','>=',1).limit(1,100).get()` | `select * from tableName where id >= 1 limit 1,100` | | 连续性where(and)| `Db('mysql1').table('tableName').where('id',1).where('title','phpy').first()` | `select * from tableName where id = 1 and title='phpy' limit 1` | | 连续性where(and)模糊查询| `Db('mysql1').table('tableName').where('id',1).where('title','like','%phpy%').get()` | `select * from tableName where id = 1 and title like '%phpy%'` | | 新增一条数据| `Db('mysql1').table('tableName').create({'key':value})` | `insert into tableName(key) values(value)` | | 新增多条数据| `Db('mysql1').table('tableName').createAll([{'key':value},{'key':value2}])` | `insert into tableName(key) values(value),(value2)` | #### 复杂DbSql 1.多类型where条件查询组合。包含where in 、between、or、and ``` sql = Db('mysql1').table('tableName').field('id').whereAll([ { 'field':'id', 'value':'1', 'factor':'like', 'next':'and' },{ 'field':'title', 'value':'%phpy%', 'factor':'=', 'next':'or' } ,{ 'field':'created_at', 'value':['2020-02-11','2020-02-13'], 'factor':'between', 'next':'and' } ,{ 'field':'ids', 'value':'(1,2,3,4)', 'factor':'in', 'next':'' } ]).first() ``` #### 参与贡献 作者:970043774@qq.com