SQLite 数据库 Python 驱动 sqlite3 基本用法

SQLite 数据库阿木 发布于 9 天前 2 次阅读


Python SQLite 数据库驱动基本用法详解

SQLite 是一个轻量级的数据库,它不需要服务器进程,只需要一个普通的文件即可实现数据库的所有功能。Python 内置了 sqlite3 模块,可以直接使用该模块与 SQLite 数据库进行交互。本文将详细介绍 Python 中 sqlite3 模块的基本用法,包括数据库的创建、表的创建、数据的插入、查询、更新和删除等操作。

环境准备

在开始之前,请确保您的 Python 环境已经安装。SQLite 数据库不需要额外安装,Python 的 sqlite3 模块已经包含了 SQLite 的所有功能。

数据库的创建

SQLite 数据库是一个文件,其扩展名为 `.db`。在 Python 中,我们可以使用 sqlite3 模块创建一个数据库文件。

python

import sqlite3

创建一个数据库连接


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

创建一个游标对象


cursor = conn.cursor()

创建一个表


cursor.execute('''


CREATE TABLE IF NOT EXISTS users (


id INTEGER PRIMARY KEY,


name TEXT NOT NULL,


age INTEGER


)


''')

提交事务


conn.commit()

关闭游标和连接


cursor.close()


conn.close()


在上面的代码中,我们首先创建了一个名为 `example.db` 的数据库文件。然后,我们创建了一个名为 `users` 的表,其中包含三个字段:`id`、`name` 和 `age`。

表的创建

在 SQLite 中,表是通过 SQL 语句创建的。我们可以使用 `CREATE TABLE` 语句来创建一个新表。

python

创建一个表


cursor.execute('''


CREATE TABLE IF NOT EXISTS products (


id INTEGER PRIMARY KEY,


name TEXT NOT NULL,


price REAL


)


''')


在上面的代码中,我们创建了一个名为 `products` 的表,包含三个字段:`id`、`name` 和 `price`。

数据的插入

在 SQLite 中,我们可以使用 `INSERT INTO` 语句来插入数据。

python

插入数据


cursor.execute('''


INSERT INTO products (name, price) VALUES ('Apple', 0.5)


''')

提交事务


conn.commit()


在上面的代码中,我们向 `products` 表中插入了一条记录,表示苹果的价格为 0.5。

数据的查询

我们可以使用 `SELECT` 语句来查询数据库中的数据。

python

查询数据


cursor.execute('SELECT FROM products')


rows = cursor.fetchall()

打印查询结果


for row in rows:


print(row)


在上面的代码中,我们查询了 `products` 表中的所有记录,并将结果存储在 `rows` 变量中。然后,我们遍历 `rows` 变量并打印每条记录。

数据的更新

我们可以使用 `UPDATE` 语句来更新数据库中的数据。

python

更新数据


cursor.execute('''


UPDATE products SET price = 0.6 WHERE name = 'Apple'


''')

提交事务


conn.commit()


在上面的代码中,我们将 `products` 表中名为 'Apple' 的苹果的价格更新为 0.6。

数据的删除

我们可以使用 `DELETE` 语句来删除数据库中的数据。

python

删除数据


cursor.execute('''


DELETE FROM products WHERE name = 'Apple'


''')

提交事务


conn.commit()


在上面的代码中,我们删除了 `products` 表中名为 'Apple' 的记录。

事务处理

SQLite 支持事务处理,这意味着我们可以将多个 SQL 语句组合成一个事务,要么全部执行,要么全部不执行。

python

开始一个事务


conn.execute('BEGIN TRANSACTION;')

执行多个 SQL 语句


cursor.execute('INSERT INTO products (name, price) VALUES ("Banana", 0.3)')


cursor.execute('UPDATE products SET price = 0.4 WHERE name = "Apple"')

提交事务


conn.commit()


在上面的代码中,我们首先开始了一个事务,然后执行了两个 SQL 语句。如果这两个语句都成功执行,我们提交事务;如果任何一个语句执行失败,我们可以回滚事务。

错误处理

在执行 SQL 语句时,可能会遇到各种错误。我们可以使用 try-except 语句来捕获和处理这些错误。

python

try:


执行 SQL 语句


cursor.execute('SELECT FROM products WHERE name = "Apple"')


row = cursor.fetchone()


print(row)


except sqlite3.Error as e:


print(f"An error occurred: {e.args[0]}")


在上面的代码中,我们尝试查询名为 'Apple' 的产品。如果查询成功,我们打印结果;如果发生错误,我们捕获异常并打印错误信息。

总结

本文详细介绍了 Python 中 sqlite3 模块的基本用法,包括数据库的创建、表的创建、数据的插入、查询、更新和删除等操作。通过学习本文,您应该能够使用 Python 和 SQLite 数据库进行基本的数据库操作。

扩展阅读

- SQLite 官方文档:https://www.sqlite.org/docs.html

- Python sqlite3 模块文档:https://docs.python.org/3/library/sqlite3.html

希望本文对您有所帮助!