Skip to main content

一个基于pymysql的操作mysql的简易框架

Project description

db-mysql

这是一个简单的操作mysql数据库的库,是我在项目中无法使用ORM框架(SQLAlchemy)时候为了不重复写sql语句,并且为了项目后期表变动好修改才自己写了这个机遇pymysql的操作类,使用方法也非常简单(不断更新中,有错误欢迎指出)

rpa_db_info = {
    'host': '192.168.0.191',
    'user': 'root',
    'password': '123456',
    'database': 'rpamakebill',
    'port': '3306'
}
# 实例化db对象 默认自动提 auto_commit=True
db = DB(rpa_db_info)

方便的方法

# 获取一个表的所有列
db.cols("test")

查询语句

select(self, table_name, select_cols, where_cols=None, where_vals=None, order_dict=None, limit=None, show_sql=False)
# 说明
select(表名, 需要查询的列名, 过滤的列名, 过滤的列名对应的值, 排序的字典, limit限制数量是否打印生成的SQL)
# 返回值
字段列表查询到的二维列表前面二者合起来的字典列表 = db.select(表名, 需要查询的列名)

具体使用:

# 简单的查询
cols, vals, datas = db.select("test", db.cols("test"))
# 查询test表里面ID为100的数据
ID = 100
cols, vals, datas = db.select("test", db.cols("test"), ["ID"], [ID])
# 查询test表里面ID为100,并且Name为“wrallen”的数据
Name = "wrallen"
cols, vals, datas = db.select("test", db.cols("test"), ["ID", "Name"], [ID, Name])
# 按照更新时间递减,添加时间递增
order_dict = {
    "DateTime": "DESC",
    "AddTime": "ASC"
}
cols, vals, datas = db.select("test", db.cols("test"), ["ID", "Name"], [ID, Name], order_dict)
# 查询test表里面的ID和Name的默认排序的前10条
cols, vals, datas = db.select("test", ["ID", "Name"], limit=10)

添加语句

insert(self, table_name, insert_dict, show_sql=False)
# 说明
insert(表名, 插入的数据-字典, 是否打印生成的SQL)
# 返回值
插入成功的ID = db.insert(表名, 插入的数据-字典)

具体使用

insert_sql = {
    "Name": "bill"
}
new_id = db.insert("test", insert_sql)

删除语句

delete(self, table_name, where_cols=[], where_vals=[], show_sql=False)
# 说明
delete(表名, 过滤的列名, 过滤的列名对应的值, 是否打印生成的SQL)
# 返回值-True, 删除失败会报异常

具体使用

# 删除test表里面ID为1的数据
db.delete("test", ["ID"], [1])

更新语句

update(self, table_name, update_dict, where_cols=[], where_vals=[], show_sql=False)
# 说明
update(表名, 更新的字典, 过滤的列名, 过滤的列名对应的值, 是否打印生成的SQL)
# 返回值-True, 更新失败会报异常

具体使用

# 更新test表里面ID为1的Name为bill
update_dict = {
    "Name": "bill"
}
db.update("test", update_dict, ["ID"], [1])

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

db-mysql-0.0.2.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

db_mysql-0.0.2-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

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