博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python编程之sqlite3数据库
阅读量:4320 次
发布时间:2019-06-06

本文共 2284 字,大约阅读时间需要 7 分钟。

sqlite3数据库的操作:

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

封装类,直接上代码

# _*_ encoding: utf-8 _*_# @Time: 2019-06-16 08:13# @Author: Mocca3000# @FileName: DBModel# @注释:本类对数据库操作进行封装,可以直接调用其中的函数import sqlite3class 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 DBToolif __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

你可能感兴趣的文章
JS正则[egExp]小记
查看>>
javascript面向对象(三)
查看>>
黑马程序员-IO流(对象序列化、RandomAccessFile 类、字符编码、综合练习)
查看>>
牛客网暑期ACM多校训练营(第一场) - J Different Integers(线段数组or莫队)
查看>>
(转)AS3 面相对象 高级话题
查看>>
Missile
查看>>
关于kindedit和 Uedit后者兼容前者
查看>>
微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package
查看>>
eclipse中使用git上传到githup,报401 Authorization Required
查看>>
基于Golang打造一款开源的WAF网关
查看>>
POJ 2955 Brackets
查看>>
Python: execute an external program (zz)
查看>>
在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)
查看>>
Ubuntu14.04安装JDK
查看>>
Latex 公式换行问题(换行,等号对齐)
查看>>
php mysqli解决乱码
查看>>
VC Q&A (原创)
查看>>
linux命令
查看>>
多线程(一)NSThread
查看>>
POJ 2584 T-Shirt Gumbo
查看>>