python连接sqlite3工具类

这篇具有很好参考价值的文章主要介绍了python连接sqlite3工具类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单使用python连接sqlite3工具类,代码可根据场景自行抽象文章来源地址https://www.toymoban.com/news/detail-794205.html

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sqlite3


class SQLiteHandler:
    # 示例用法
    default_db_path = "example.db"

    def __init__(self, db_file=None):
        self.db_file = db_file or self.default_db_path
        self.conn = self.create_connection()
        self.initialize_database()

    def create_connection(self):
        # 创建数据库连接
        try:
            conn = sqlite3.connect(self.db_file)
            print(f"Connected to {self.db_file}")
            return conn
        except sqlite3.Error as e:
            print(e)
            return None

    def initialize_database(self):
        # 初始化数据库,包括创建表格
        if self.conn:
            create_table_sql = """
            CREATE TABLE IF NOT EXISTS example_table (
                id INTEGER PRIMARY KEY,
                name TEXT NOT NULL,
                age INTEGER
            );
            """
            self.create_table(create_table_sql)
        else:
            print("Failed to initialize database. Connection not established.")

    def create_table(self, create_table_sql):
        # 创建表格
        try:
            cursor = self.conn.cursor()
            cursor.execute(create_table_sql)
            print("Table created successfully")
        except sqlite3.Error as e:
            print(e)

    def execute_query(self, query, data=None):
        # 执行查询操作
        try:
            cursor = self.conn.cursor()
            if data:
                cursor.execute(query, data)
            else:
                cursor.execute(query)
            self.conn.commit()
            print("Query executed successfully")
        except sqlite3.Error as e:
            print(e)

    def fetch_all(self, query):
        # 获取所有记录
        try:
            cursor = self.conn.cursor()
            cursor.execute(query)
            rows = cursor.fetchall()
            return rows
        except sqlite3.Error as e:
            print(e)

    def delete_record(self, table_name, record_id):
        # 删除特定记录
        try:
            cursor = self.conn.cursor()
            cursor.execute(f"DELETE FROM {table_name} WHERE id = ?;", (record_id,))
            self.conn.commit()
            print(f"Record with ID {record_id} deleted successfully from {table_name}")
        except sqlite3.Error as e:
            print(e)

    def delete_all_records(self, table_name):
        # 删除表格中的所有记录
        try:
            cursor = self.conn.cursor()
            cursor.execute(f"DELETE FROM {table_name};")
            self.conn.commit()
            print(f"All records deleted successfully from {table_name}")
        except sqlite3.Error as e:
            print(e)

    def drop_table(self, table_name):
        # 删除表格
        try:
            cursor = self.conn.cursor()
            cursor.execute(f"DROP TABLE IF EXISTS {table_name};")
            self.conn.commit()
            print(f"Table {table_name} dropped successfully")
        except sqlite3.Error as e:
            print(e)


# # 示例用法
# db_path = "example.db"
#
# # 实例化 SQLiteHandler
db_handler = SQLiteHandler()

# 插入数据
insert_query = "INSERT INTO example_table (name, age) VALUES (?, ?);"
data_to_insert = ("John Doe", 35)
db_handler.execute_query(insert_query, data_to_insert)

# 查询数据
select_query = "SELECT * FROM example_table;"
result = db_handler.fetch_all(select_query)
print(result)

# 更新数据
# update_query = "UPDATE example_table SET age=? WHERE name=?;"
# data_to_update = (31, "John Doe")
# db_handler.execute_query(update_query, data_to_update)

# 查询更新后的数据
result_after_update = db_handler.fetch_all(select_query)
print(result_after_update)

# 删除名为example_table的表格中ID为1的记录
# db_handler.delete_record("example_table", 3)

# 删除表格
# table_to_drop = "example_table"
# db_handler.drop_table(table_to_drop)

# 关闭数据库连接
db_handler.conn.close()

到了这里,关于python连接sqlite3工具类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库--Sqlite3

     1、思维导图  2sqlite3在linux中是实现数据的增删,改 #includemyhead.h int main(int argc, const char *argv[]) {         //1、定义一个数据库句柄指针         sqlite3* ppDb =NULL;         //2、创建或打开数据库         if(sqlite3_open(\\\"./mydb.db\\\",ppDb)!=SQLITE_OK)         {                 printf(

    2024年04月27日
    浏览(37)
  • sqlite3数据库的实现

    sqlite3代码实现数据库的插入、删除、修改、退出功能

    2024年02月12日
    浏览(44)
  • python连接sqlite3工具类

    简单使用python连接sqlite3工具类,代码可根据场景自行抽象

    2024年01月16日
    浏览(34)
  • sqlite3将词典导入数据库

    使用sqlite3代码实现将词典导入数据库中

    2024年02月12日
    浏览(44)
  • SQlite3数据库相关相关命令

    1. 创建表格 2. 插入数据 3. 查看数据库记录 4. 删除信息 5. 更新数据 6. 增加一列 7. 删除一列 (sqlite3 不支持直接删除一列) 1. 打开数据库 2. 关闭数据库 3. 错误信息 4. 执行一条sql语句 5. 查询回调函数 6. 查询函数 小知识:如果结构体中定义的是一级指针,那么你要定义变量取

    2024年02月16日
    浏览(40)
  • 02.sqlite3学习——嵌入式数据库的基本要求和SQLite3的安装

    目录 嵌入式数据库的基本要求和SQLite3的安装 嵌入式数据库的基本要求 常见嵌入式数据库 sqlite3简介 SQLite3编程接口模型 ubuntu 22.04下的SQLite安装 (1)安装SQLite3软件 sudo apt-get install sqlite3 (2)安装库文件 sudo apt-get install libsqlite3-dev 安装成功后输入sqlite3查看 (3)安装sqlite3可

    2024年02月11日
    浏览(58)
  • 嵌入式数据库之sqlite3

            数据:能够输入计算机并能被计算机程序识别和处理的信息集合。         数据库:数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。 1.大型数据库         Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作

    2024年02月10日
    浏览(47)
  • 【嵌入式数据库之sqlite3】

    目录 一.数据库基本概念(理解) 1.数据 2.数据库 二.常用的数据的数据库(了解) 1.大型数据库 2.中型数据库 3.小型数据库 三.基于嵌入式的数据库(了解) 四.SQLite基础(了解) 五.创建数据库(熟练) 1.手工创建 2.代码创建 六.SQLite编程接口 七.代码示例(学生管理系统) 八

    2024年02月09日
    浏览(45)
  • SQLite3数据库的介绍和使用(面向业务编程-数据库)

    SQLite是一种用C语言实现的的SQL数据库 它的特点有:轻量级、快速、独立、高可靠性、跨平台 它广泛应用在全世界范围内的手机电脑应用的内建数据库 官网地址:https://www.sqlite.org/index.html SQLite因为其采用文件存储,且容易移植。在嵌入式中应用非常广泛,可以说是嵌入式业

    2024年02月02日
    浏览(40)
  • 【C++】开源:sqlite3数据库配置使用

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍sqlite3数据库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 项目Github地址: https://github.com/sqlite/sqlite SQLite 是一种嵌入式

    2024年02月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包