SQLite3模块详尽使用指南:从入门到精通

SQLite是一种广泛使用的嵌入式数据库引擎,因其轻量级、高性能和易于集成的特点而受到开发者们的青睐。Python内置了sqlite3模块,使得在Python应用中使用SQLite变得极为方便。本文将详细介绍如何使用Python中的sqlite3模块来创建数据库、执行SQL查询、管理事务等操作,并通过具体的示例帮助读者掌握SQLite的基本用法。

图片[1]-SQLite3模块详尽使用指南:从入门到精通-连界优站

SQLite3模块概述

sqlite3模块提供了Python访问SQLite数据库的能力。它遵循DB-API 2.0规范,这意味着您可以使用标准的数据库API来编写跨数据库的应用程序。

安装与导入

在Python中使用SQLite并不需要额外安装任何软件,因为SQLite是Python标准库的一部分。您只需要导入sqlite3模块即可开始使用:

import sqlite3

创建数据库与表

首先,我们来看如何使用sqlite3模块创建一个新的SQLite数据库,并在其中创建一张表。

import sqlite3

# 连接到SQLite数据库
# 数据库不存在,则会自动创建
conn = sqlite3.connect('example.db')

# 创建一个Cursor对象
cursor = conn.cursor()

# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
)
''')

# 提交事务
conn.commit()

# 关闭连接
conn.close()

插入数据

接下来,我们向刚刚创建的表中插入一些数据。

import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 插入一条记录
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 30))

# 批量插入记录
users = [
    ('Bob', 25),
    ('Charlie', 35),
]
cursor.executemany('INSERT INTO users (name, age) VALUES (?, ?)', users)

# 提交事务
conn.commit()

# 关闭连接
conn.close()

查询数据

现在,我们可以编写SQL查询来检索之前插入的数据。

import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 查询所有用户
cursor.execute('SELECT * FROM users')
for row in cursor.fetchall():
    print(row)

# 查询年龄大于30岁的用户
cursor.execute('SELECT * FROM users WHERE age > ?', (30,))
for row in cursor.fetchall():
    print(row)

# 关闭连接
conn.close()

更新与删除数据

除了查询数据外,我们还可以更新和删除表中的记录。

import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 更新年龄为35的用户的名字
cursor.execute('UPDATE users SET name = ? WHERE age = ?', ('Charlie Updated', 35))

# 删除年龄为25的用户
cursor.execute('DELETE FROM users WHERE age = ?', (25,))

# 提交事务
conn.commit()

# 关闭连接
conn.close()

使用事务

为了保证数据的一致性,我们可以使用事务来批量执行SQL语句。

import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()

try:
    # 开始事务
    conn.execute('BEGIN TRANSACTION')

    # 执行多个SQL语句
    cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('David', 40))
    cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Eve', 45))

    # 提交事务
    conn.commit()
except sqlite3.Error as e:
    print("An error occurred:", e.args[0])
    # 回滚事务
    conn.rollback()

# 关闭连接
conn.close()

使用with语句管理连接

为了简化代码并确保资源正确释放,可以使用with语句来管理数据库连接。

import sqlite3

with sqlite3.connect('example.db') as conn:
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM users')
    rows = cursor.fetchall()
    for row in rows:
        print(row)

小结

通过本文的介绍,您应该已经熟悉了如何使用Python中的sqlite3模块来操作SQLite数据库。从创建数据库和表,到插入、查询、更新和删除数据,再到事务管理,本文涵盖了SQLite操作的基本方面。希望这篇教程能够帮助您更好地理解和运用SQLite3模块,为您的Python应用程序增添持久化存储功能。


本文详细介绍了如何使用Python中的sqlite3模块来操作SQLite数据库,并通过具体的示例帮助读者掌握SQLite的基本用法,旨在帮助读者从入门到精通SQLite3模块的使用。希望对您有所帮助!

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享