2024年10月09日 SQLite驱动详解 极客笔记
SQLite是一种轻量级的数据库管理系统,被广泛应用于移动设备和嵌入式系统中。它不需要一个独立的服务器来运行,可以直接访问存储在文件中的数据库。SQLite是一个自包含、零配置的、支持事务、支持嵌套查询的数据库引擎,数据库写入速度快、易操作和管理。在本文中,我们将详细介绍如何使用Python中的SQLite驱动来操作SQLite数据库。
要在Python中使用SQLite,首先需要安装SQLite驱动。最常用的SQLite驱动是sqlite3
,它是Python的标准库之一,可以直接使用而无需额外安装。如果您使用的是Python 2.5以上版本,sqlite3
将会默认被安装。
如果您需要手动安装SQLite驱动,可以使用以下命令:
pip install pysqlite
安装完成后,您就可以开始在Python中操作SQLite数据库了。
在使用SQLite数据库之前,首先需要连接到数据库。可以使用sqlite3.connect()
方法来连接数据库,如下所示:
import sqlite3
# 连接到SQLite数据库,如果数据库不存在则会被创建
conn = sqlite3.connect('test.db')
在这段代码中,我们使用connect()
方法连接到了名为test.db
的SQLite数据库。如果数据库不存在,则会被创建;如果数据库已存在,则会被打开。
一旦连接到了SQLite数据库,接下来可以开始创建表格。可以使用execute()
方法执行SQL语句来创建表格,如下所示:
# 创建一个名为`user`的表格
conn.execute('''
CREATE TABLE user
(id INT PRIMARY KEY,
name TEXT NOT NULL,
age INT)
''')
在这段代码中,我们使用execute()
方法创建了一个名为user
的表格,表格包含三个字段:id
、name
和age
。id
字段是主键,name
字段是文本类型,age
字段是整数类型。
创建表格之后,接下来可以向表格中插入数据。可以使用execute()
方法执行SQL语句来插入数据,如下所示:
# 向`user`表格中插入一条数据
conn.execute('INSERT INTO user (id, name, age) VALUES (1, "Alice", 25)')
# 向`user`表格中插入一条数据
conn.execute('INSERT INTO user (id, name, age) VALUES (2, "Bob", 30)')
在这段代码中,我们使用execute()
方法向user
表格中插入了两条数据:id
为1的数据和id
为2的数据。
插入数据之后,我们可以使用SELECT语句来从表格中查询数据。可以使用execute()
方法执行SELECT语句来查询数据,如下所示:
# 查询`user`表格中的所有数据
cursor = conn.execute('SELECT * FROM user')
# 遍历查询结果并打印
for row in cursor:
print(row)
在这段代码中,我们使用execute()
方法查询了user
表格中的所有数据,并使用游标来遍历查询结果并打印出来。
除了查询数据之外,我们还可以使用UPDATE语句来更新数据。可以使用execute()
方法执行UPDATE语句来更新数据,如下所示:
# 更新`user`表格中`id`为1的数据的`age`字段为26
conn.execute('UPDATE user SET age=26 WHERE id=1')
在这段代码中,我们使用execute()
方法更新了user
表格中id
为1的数据的age
字段为26。
最后,我们可以使用DELETE语句来删除数据。可以使用execute()
方法执行DELETE语句来删除数据,如下所示:
# 删除`user`表格中`id`为2的数据
conn.execute('DELETE FROM user WHERE id=2')
在这段代码中,我们使用execute()
方法删除了user
表格中id
为2的数据。
在对SQLite数据库进行修改之后,需要调用commit()
方法来提交事务,并调用close()
方法关闭连接,如下所示:
# 提交事务
conn.commit()
# 关闭连接
conn.close()
在这段代码中,我们使用commit()
方法提交了对SQLite数据库的修改,并使用close()
方法关闭了与数据库的连接。
通过上述操作,我们成功地连接到了SQLite数据库,创建了表格,插入了数据,查询了数据,更新了数据,删除了数据,并且成功地提交了事务和关闭了连接。SQLite驱动提供了丰富的API来操作数据库,具有轻量级、易操作和管理的特点,非常适合在嵌入式系统和移动设备中使用。
本文链接:http://so.lmcjl.com/news/14987/