工作经验分享 - sqlite3
type: channel
link: https://www.xuehuafei.cn/tag/sqlite3/
items: SQLite3 数据库在 Python 中的使用指南

SQLite3 数据库在 Python 中的使用指南
type: item
date: 2023-04-06T09:08:19+08:00
description: SQLite是一个轻量级的关系型数据库管理系统，可以在本地存储数据，并且不需要安装额外的服务器。在Python中，我们可以使用sqlite3模块来访问SQLite数据库。在本教程中，我们将介绍如何使用Python中的sqlite3模块来创建、查询、更新和删除SQLite数据库中的表和数据。安装sqlite3模块在Python中，sqlite3模块是默认安装的，因此你无需安装任何东西就可以使用它。如果你想要检查一下是否已经安装了该模块，可以在Python交互式命令行中输入以下内容：import sqlite3如果没有报错，则说明该模块已经安装好了。连接数据库在开始操作数据库之前，我们需要先连接到数据库。连接数据库的步骤如下：import sqlite3 conn = sqlite3.connect('example.db')在上面的代码中，我们调用了sqlite3模块的connect()函数来连接到一个名为example.db的数据库。如果该数据库不存在，则会自动创建该数据库。创建表在SQLite中，我们可以通过CREATE TABLE语句来创建一个新的表。下面是一个示例代码，用于创建一个名为todo_list的表：conn = sqlite3.connect('example.db') c = conn.cursor() # 创建表 c.execute('''CREATE TABLE todo_list (list_item text)''') # 保存更改 conn.commit() # 关闭连接 conn.close()在上面的代码中，我们首先使用connect()函数连接到数据库。然后，我们使用cursor()方法来创建一个游标对象，该对象可以用于执行SQL语句。接着，我们使用execute()方法来执行一个CREATE TABLE语句，该语句将创建一个名为todo_list的表，该表包含一个名为list_item的列，该列的数据类型为text。最后，我们使用commit()方法来保存更改，并使用close()方法关闭连接。如果表已经存在，使用CREATE TABLE语句会导致错误。为了避免这种情况，我们可以在CREATE TABLE语句中使用IF NOT EXISTS子句。下面是一个示例代码：conn = sqlite3.connect('example.db') c = conn.cursor() # 创建表 c.execute('''CREATE TABLE IF NOT EXISTS todo_list (list_item text)''') # 保存更改 conn.commit() # 关闭连接 conn.close()在上面的代码中，我们使用CREATE TABLE IF NOT EXISTS语句来创建一个名为todo_list的表。如果该表已经存在，则不会导致错误，而是忽略该语句。使用IF NOT EXISTS子句可以确保我们在创建表时不会意外地覆盖现有的表。查询表在SQLite中，我们可以使用SELECT语句来查询数据库中的数据。下面是一个示例代码，用于查询我们刚刚创建的todo_list表中的所有数据：conn = sqlite3.connect('example.db') c = conn.cursor() # 查询表 c.execute('SELECT * FROM todo_list') # 获取查询结果 result = c.fetchall() print(result) # 关闭连接 conn.close()在上面的代码中，我们首先使用connect()函数连接到数据库。然后，我们使用cursor()方法来创建一个游标对象，该对象可以用于执行SQL语句。接着，我们使用execute()方法来执行一个SELECT语句，该语句将返回todo_list表中的所有数据。我们可以使用fetchall()方法来获取查询结果，并将结果存储在一个变量中。最后，我们使用print()函数来打印查询结果，并使用close()方法关闭连接。删除表数据在SQLite中，我们可以使用DELETE语句来删除表中的数据。下面是一个示例代码，用于删除我们刚刚创建的todo_list表中的所有数据：conn = sqlite3.connect('example.db') c = conn.cursor() # 删除表中的所有数据 c.execute('DELETE FROM todo_list') # 保存更改 conn.commit() # 关闭连接 conn.close()在上面的代码中，我们首先使用connect()函数连接到数据库。然后，我们使用cursor()方法来创建一个游标对象，该对象可以用于执行SQL语句。…