📜  如何在 python3 sqlite3 中搜索查询 - SQL (1)

📅  最后修改于: 2023-12-03 14:52:31.401000             🧑  作者: Mango

如何在 Python3 sqlite3 中搜索查询 - SQL

在 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 的表格,并定义了三个列,分别是 IDCOLUMN_NAME1COLUMN_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 中搜索查询的基本操作。可以根据实际需求进一步扩展和优化代码。