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

时间:2018-06-30 07:50:38

标签: python python-3.x python-2.7 sqlite

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用常规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

请注意,这将返回一个单元素元组的列表,因为我们仅在SELECT查询中请求一个元素,如果要将其作为原始列表,则可以按以下方式进行操作:

jobs = [job[0] for job in cursor.execute("SELECT job FROM todos")]