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
希望本文对您有所帮助!
Comments NOTHING