在Python中利用内置SQLite3模块进行数据库操作的完整指南

liftword3周前 (04-09)技术文章3

在Python中,使用SQLite非常方便,Python内置了 SQLite3 模块,无需额外安装。SQLite 是一个轻量级的嵌入式数据库,适用于小型项目和单用户应用。以下是一个简单的示例,演示如何在 Python 中使用 SQLite,并提供了常见的查询、增加、修改和删除功能。

首先,确保你的 Python 安装包含 sqlite3 模块。然后,创建一个 Python 文件,例如 sqlite_example.py,并添加以下代码:

import sqlite3

def create_connection(db_file):
    """创建数据库连接"""
    try:
        connection = sqlite3.connect(db_file)
        return connection
    except sqlite3.Error as e:
        print(e)
    return None

def create_table(connection):
    """创建表"""
    try:
        cursor = connection.cursor()
        cursor.execute('''
            CREATE TABLE IF NOT EXISTS Users (
                Id INTEGER PRIMARY KEY AUTOINCREMENT,
                Name TEXT,
                Age INTEGER
            );
        ''')
        connection.commit()
        print("Table created or already exists.")
    except sqlite3.Error as e:
        print(e)

def insert_data(connection, name, age):
    """插入数据"""
    try:
        cursor = connection.cursor()
        cursor.execute("INSERT INTO Users (Name, Age) VALUES (?, ?);", (name, age))
        connection.commit()
        print("Data inserted.")
    except sqlite3.Error as e:
        print(e)

def query_data(connection):
    """查询数据"""
    try:
        cursor = connection.cursor()
        cursor.execute("SELECT * FROM Users;")
        rows = cursor.fetchall()
        print("Id\tName\tAge")
        for row in rows:
            print(f"{row[0]}\t{row[1]}\t{row[2]}")
    except sqlite3.Error as e:
        print(e)

def update_data(connection, user_id, name, age):
    """更新数据"""
    try:
        cursor = connection.cursor()
        cursor.execute("UPDATE Users SET Name=?, Age=? WHERE Id=?;", (name, age, user_id))
        connection.commit()
        print("Data updated.")
    except sqlite3.Error as e:
        print(e)

def delete_data(connection, user_id):
    """删除数据"""
    try:
        cursor = connection.cursor()
        cursor.execute("DELETE FROM Users WHERE Id=?;", (user_id,))
        connection.commit()
        print("Data deleted.")
    except sqlite3.Error as e:
        print(e)

def main():
    # 指定数据库文件路径
    db_file = "sample.db"

    # 创建数据库连接
    connection = create_connection(db_file)

    if connection:
        # 创建表
        create_table(connection)

        # 插入数据
        insert_data(connection, "John Doe", 30)

        # 查询数据
        query_data(connection)

        # 更新数据
        update_data(connection, 1, "Updated Name", 35)

        # 查询更新后的数据
        query_data(connection)

        # 删除数据
        delete_data(connection, 1)

        # 查询删除后的数据
        query_data(connection)

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

if __name__ == "__main__":
    main()

这个示例演示了如何使用 SQLite3 模块在 Python 中进行数据库操作。在实际应用中,你可能需要根据需求修改数据库文件路径和连接方式。这个例子创建了一个名为 Users 的表,包含 IdNameAge 字段。然后进行插入、查询、更新和删除操作。

相关文章

了解 Python 最常见的内置函数

Python 的内置函数基础Python 的内置函数是该语言不可或缺的一部分,无需额外的库即可提供基本功能。这些函数始终可用,无需导入任何模块即可使用。它们是在 C for CPython(标准 Py...

8-Python内置函数

Python 提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...

Python用内置模块来构建REST服务、RPC服务

1写在前面和小伙伴们分享一些Python 网络编程的一些笔记,博文为《Python Cookbook》读书后笔记整理博文涉及内容包括: TCP/UDP服务构建 不使用框架创建一个REST风格的HTTP...

一文掌握Python 内置数据结构

列表Python 没有数组数据结构(大小固定),相反,它有一个列表数据结构,它是一个动态数组,可以存储混合数据类型的值。与传统数组相比,它具有优势,例如不必指定大小和混合数据类型。当创建列表时,内部会...

这就是Python 模块

1. 模块简介1.1 什么是模块编写较长程序时,建议用文本编辑器代替解释器,执行文件中的输入内容,这就是编写 脚本 。随着程序越来越长,为了方便维护,最好把脚本拆分成多个文件。编写脚本还一个好处,不同...

Python常用的内置函数介绍

Python提供了许多内置函数,这些函数可以直接使用而无需导入任何模块。下面是一些常用的Python内置函数的介绍:1. `print()`用于将指定的内容输出到控制台。可以打印文本、变量、表达式等。...