Skip to main content

A functional enhancement package that focus on crud based PyMySQL

Project description

PyMySQLDao

Introduce

PyMySQLDao是建立在PyMySQL上的功能增强库,方便用户进行CRUD;

在不影响任何代码的情况下,只需要简单几行代码,便可获得单表的CRUD功能!

欢迎提出修改意见!🥳🥳🥳

Requirements

PyMySQL

termcolor

colorama(only in windows)

Install

(venv)$ pip install pymysql-dao

说明:如果上述的命令无法下载,请考虑使用下列命令:

  • pypi官方

    $ pip install pymysql-dao --index-url https://pypi.org/simple/

  • 清华源

    $ pip install pymysql-dao --index-url https://pypi.tuna.tsinghua.edu.cn/simple/

Example

假设使用下列SQL语句:

create database python_example;

use python_example;

create table class (
   id bigint(20) primary key auto_increment,
   class_name varchar(50) not null unique,
   is_delete tinyint default 0,
   index idx_clsname(class_name)
)engine=innodb
 auto_increment=1
 default charset=utf8;
 
insert into class(id, class_name) values(1, "火箭班");
insert into class(class_name) values("骏马班");

使用pymysqldao轻松的进行CRUD

import pymysql
from pymysqldao import BaseDao

db_example_conn = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    database='python_example',
    cursorclass=pymysql.cursors.DictCursor
)


class ClassDao(BaseDao):
    def __init__(self):
        super(ClassDao, self).__init__(db_example_conn, "class")


if __name__ == '__main__':
    class_dao = ClassDao()

    # select by id
    class_dao.select_by_id(1)
    class_dao.select_by_id("1")
    class_dao.select_by_id(1, primary_key="id")

    # select by field
    class_dao.select_by_field("xxx", field_key="class_name")
    class_dao.select_by_field("xxx", field_key="class_name", limit_size=10)

    # select list
    class_dao.select_list()
    class_dao.select_list(limit_size=500)

    # select by id_list
    class_dao.select_by_id_list([1, 2, 3])  # default primary_key is "id"
    class_dao.select_by_id_list([1, 2, 3], primary_key="class_id")
    
    # insert
    obj_dict = {"class_name": "少年班"}
    class_dao.insert_one(obj_dict)
    
    # update
    new_obj_id_1 = {'id': 1, 'class_name': '火箭班修改', 'is_delete': 0}
    class_dao.update_by_id(new_obj_id_1)
    
    # delete
    class_dao.delete_by_id(1)
    class_dao.delete_by_id(1, primary_key="class_id")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymysql_dao-0.0.6.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

pymysql_dao-0.0.6-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file pymysql_dao-0.0.6.tar.gz.

File metadata

  • Download URL: pymysql_dao-0.0.6.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for pymysql_dao-0.0.6.tar.gz
Algorithm Hash digest
SHA256 b500fe4ac705366c2b37102224bd896fe8916c3716b74d18a07d9dd4a874357b
MD5 02dae9a30dc6b24f132bc87f2380059d
BLAKE2b-256 5c255c23299de312bc5b135490beacc08a4fa81a0da082b3c46b44043ebeddf5

See more details on using hashes here.

File details

Details for the file pymysql_dao-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: pymysql_dao-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for pymysql_dao-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0e6421cf3d25deaf4483e554b756311de19f4592bfeb33953bec8649f4fc64bb
MD5 197e6922d15b60920d172cc6b24c8eb1
BLAKE2b-256 f4e76bbca1fc5605a06ff88370eade01be00ca1915a0164cfaa3b9a446601844

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page