Python编程之sqlite3数据库

本文介绍了一个用于操作SQLite3数据库的Python封装类,包括数据库连接、增删改查等核心功能,并提供了示例代码,展示了如何使用该类执行SQL语句进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sqlite3数据库的操作:

数据库操作,基本流程是,1、连接数据库,2、增删改查等功能,3、关闭连接

封装类,直接上代码

# _*_ encoding: utf-8 _*_

# @Time: 2019-06-16 08:13
# @Author: Mocca3000
# @FileName: DBModel
# @注释:本类对数据库操作进行封装,可以直接调用其中的函数

import sqlite3


class DBTool(object):
    def __init__(self):
        """
        初始化函数,创建数据库连接
        """
        self.conn = sqlite3.connect('Database/pos.db')
        self.c = self.conn.cursor()

    def execute_update(self, sql, ob):
        """
        数据库的插入、修改函数
        :param sql: SQL语句
        :param ob: 传入数据
        :return: 返回数据库状态
        """
        try:
            self.c.executemany(sql, ob)
            i = self.conn.total_changes
        except Exception as e:
            print('错误类型:', e)
            return False
        finally:
            self.conn.commit()
        if i > 0:
            return True
        else:
            return False

    def execute_delete(self, sql, ob):
        """
        数据库数据删除函数
        :param sql: SQL语句
        :param ob: 传入数据
        :return: 返回数据库状态
        """
        try:
            self.c.execute(sql, ob)
            i = self.conn.total_changes
        except Exception as e:
            return False
        finally:
            self.conn.commit()
        if i > 0:
            return True
        else:
            return False

    def execute_query(self, sql, ob):
        """
        数据库数据查询函数
        :param sql: SQL语句
        :param ob: 传入数据
        :return: 返回查询数据结果
        """
        result = self.c.execute(sql, ob)
        return result

    def close(self):
        """
        关闭数据库的连接的函数
        :return:
        """
        self.c.close()
        self.conn.close()

调用就很简单了,直接传入SQL语句,以及数据就可以完成数据库操作,如下:

# _*_ encoding: utf-8 _*_
from Model.BDModel import DBTool


if __name__ == '__main__':
    db = DBTool()
    sql = 'insert into stu (name, age) values (?, ?)'
    name = input('请输入名称:')
    age = input('请输入年龄:')
    ob = [(name, age)]
    T = db.execute_update(sql, ob)
    if T:
        print('插入成功!')
    else:
        print('插入失败!')

假如数据库是新建的,则会出现没有数据表stu的错误提示,这个只需在封装类中加入如下代码及可:

        try:
            create_tb = '''
            create table if not exists stu
            (name text,
            age int)
            '''
            self.conn.execute(create_tb)
        except:
            print('创建表失败!')
            return False

到此,一个简单的数据库操作就完成啦

转载于:https://www.cnblogs.com/pythoncoder/p/11031046.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值