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语句。

接着,我们使用execute()方法来执行一个DELETE语句,该语句将删除todo_list表中的所有数据。

最后,我们使用commit()方法来保存更改,并使用close()方法关闭连接。

新增表数据

在SQLite中,我们可以使用INSERT语句来向表中添加数据。下面是一个示例代码,用于向我们刚刚创建的todo_list表中添加一条数据:

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

# 向表中添加数据
c.execute("INSERT INTO todo_list values ('完成python sqlite3教程')")

# 保存更改
conn.commit()

#关闭链接
conn.close()

在上面的代码中,我们首先使用connect()函数连接到数据库。然后,我们使用cursor()方法来创建一个游标对象,该对象可以用于执行SQL语句。

接着,我们使用execute()方法来执行一个INSERT语句,该语句将在todo_list表中添加一条数据,数据的值为'完成python sqlite3教程'。

最后,我们使用commit()方法来保存更改,并使用close()方法关闭连接。

更新表数据

在SQLite中,我们可以使用UPDATE语句来更新表中的数据。下面是一个示例代码,用于更新我们刚刚添加的数据:

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

# 更新表中的数据
c.execute("UPDATE todo_list SET list_item='完成sqlite3教程' WHERE list_item='完成python sqlite3教程'")

# 保存更改
conn.commit()

# 关闭连接
conn.close()

在上面的代码中,我们首先使用connect()函数连接到数据库。然后,我们使用cursor()方法来创建一个游标对象,该对象可以用于执行SQL语句。

接着,我们使用execute()方法来执行一个UPDATE语句,该语句将更新todo_list表中值为'完成python sqlite3教程'的数据,将其更改为'完成sqlite3教程'。

最后,我们使用commit()方法来保存更改,并使用close()方法关闭连接。

总结

本教程介绍了如何使用Python中的sqlite3模块来访问SQLite数据库,并演示了如何创建、查询、更新和删除表和数据。SQLite是一个轻量级的数据库管理系统,可以在本地存储数据,并且不需要安装额外的服务器。在Python中,我们可以使用sqlite3模块来轻松地访问SQLite数据库,从而进行各种各样的数据操作。