如何获取sqlite3中一列的所有值?

sol*_*olo 0 python sqlite python-2.7 python-3.x

假设我像这样制作了一张桌子:

db.execute("""
    CREATE TABLE IF NOT EXISTS todos
    (id INTEGER PRIMARY KEY AUTOINCREMENT, 
     job TEXT, 
     duration TEXT, 
     category TEXT, 
     expected_completion TEXT)
    """)
Run Code Online (Sandbox Code Playgroud)

我将如何获得“工作”列的所有值?我知道我可以遍历每个条目或使用 pandas 库,但我很想知道是否有通过 SQLite 执行此操作的标准方法。

zwe*_*wer 7

您可以使用常规 SQL 来检索您的数据:

import sqlite3

connection = sqlite3.connect("your_sqlite.db")  # connect to your DB
cursor = connection.cursor()  # get a cursor

cursor.execute("SELECT job FROM todos")  # execute a simple SQL select query
jobs = cursor.fetchall()  # get all the results from the above query
Run Code Online (Sandbox Code Playgroud)

请注意,这将返回一个单元素元组列表,因为我们只要求SELECT查询中的一个元素,如果您希望将其作为原始列表,您可以这样做:

jobs = [job[0] for job in cursor.execute("SELECT job FROM todos")]
Run Code Online (Sandbox Code Playgroud)