📅  最后修改于: 2023-12-03 14:52:31.401000             🧑  作者: Mango
在 Python 中,SQLite3 是一种轻量级的 SQL 数据库,它可以方便的在本地运行。在 SQLite3 中,我们可以通过 SQL 查询语句来检索和搜索数据。本文将介绍如何在 Python3 SQLite3 中进行搜索查询。
首先需要打开或创建一个数据库,并连接到数据库。在 Python 中,我们可以使用 sqlite3
模块来连接到 SQLite3 数据库。
import sqlite3
# 连接数据库
conn = sqlite3.connect('database.db')
以上代码通过 sqlite3.connect()
方法连接到了名为 database.db
的 SQLite3 数据库文件。
在 SQLite3 中,我们需要创建表格存储数据,并在表格中定义列。创建表格的方法如下:
# 创建表格
def create_table():
conn.execute('''CREATE TABLE IF NOT EXISTS TABLE_NAME
(ID INT PRIMARY KEY NOT NULL,
COLUMN_NAME1 TEXT,
COLUMN_NAME2 INT);''')
以上代码创建了一个名为 TABLE_NAME
的表格,并定义了三个列,分别是 ID
、COLUMN_NAME1
和 COLUMN_NAME2
,其中 ID
列为主键,不可为空。
接下来,我们需要向表格中插入数据。
# 插入数据
def insert_data():
conn.execute("INSERT INTO TABLE_NAME (ID, COLUMN_NAME1, COLUMN_NAME2) \
VALUES (1, 'VALUE1', 123)")
以上代码插入了一条数据,ID 为 1,COLUMN_NAME1
中的值为 "VALUE1"
,COLUMN_NAME2
的值为 123
。可以根据需要插入多条数据。
在 SQLite3 中,我们可以使用 SELECT
语句来搜索查询数据。
以下是一个简单的查询示例:
# 搜索查询
def search_data():
cursor = conn.execute("SELECT * FROM TABLE_NAME WHERE COLUMN_NAME1 = 'VALUE1'")
for row in cursor:
print(row)
以上代码以 COLUMN_NAME1
列为条件搜索表格中的数据,并打印出所有符合条件的数据。具体来说,conn.execute()
方法将 SQL 查询语句作为参数传入,返回一个光标对象,其可以用于遍历结果集。对于每一行结果,光标将返回一个元组,元组中包含了该行中每一列的值。
最后,我们需要关闭数据库连接。
# 关闭数据库连接
conn.close()
完整代码示例:
import sqlite3
# 连接数据库
conn = sqlite3.connect('database.db')
# 创建表格
def create_table():
conn.execute('''CREATE TABLE IF NOT EXISTS TABLE_NAME
(ID INT PRIMARY KEY NOT NULL,
COLUMN_NAME1 TEXT,
COLUMN_NAME2 INT);''')
# 插入数据
def insert_data():
conn.execute("INSERT INTO TABLE_NAME (ID, COLUMN_NAME1, COLUMN_NAME2) \
VALUES (1, 'VALUE1', 123)")
# 搜索查询
def search_data():
cursor = conn.execute("SELECT * FROM TABLE_NAME WHERE COLUMN_NAME1 = 'VALUE1'")
for row in cursor:
print(row)
# 关闭数据库连接
conn.close()
以上代码实现了在 Python3 SQLite3 中搜索查询的基本操作。可以根据实际需求进一步扩展和优化代码。