首页 > 解决方案 > Python SQLite 从数据库中选择

问题描述

我的数据库

import sqlite3 
conn = sqlite3.connect('Karteikarten.db')
c = conn.cursor()

# c.execute('''CREATE TABLE Karteikarten
#             ([Frage] text, [Antwort] text)''')

F1 = input("Frage: ") A1 = input("Antwort: ")

c.execute('INSERT INTO Karteikarten Values ( ?, ?)', (F1, A1,))
# c.execute('SELECT * FROM Karteikarten')
# print(c.fetchall())

conn.commit()
conn.close()

现在我的问题。如何从数据库中获取选定的输入并将其打印出来?我想稍后将它与用户的输入进行比较。

import sqlite3

conn = sqlite3.connect('Karteikarten.db')

c = conn.cursor()

DBF1 = c.execute('SELECT Frage FROM Karteikarten ORDER BY RANDOM() LIMIT 1')
print(DBF1)

conn.commit()
conn.close()

标签: pythondatabasesqlite

解决方案


如果您只想从数据库中获取输出,那么您将使用

foo = c.fetchone() 或者 foo = c.fetchall()

将数据库的输出存储到变量中

那时你会print(foo)

IE:

import sqlite3

conn = sqlite3.connect('Karteikarten.db')

c = conn.cursor()

c.execute('SELECT Frage FROM Karteikarten ORDER BY RANDOM() LIMIT 1')
DBF1 = c.fetchone() # or c.fetchall()
print(DBF1)

conn.commit()
conn.close()

推荐阅读