python - 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()
解决方案
如果您只想从数据库中获取输出,那么您将使用
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()
推荐阅读
- r - 使用调查包循环遍历列并根据条件打印比例或均值表
- r - 为什么 R 会有这样的行为?
- string - 从两个括号之间提取数字
- parsing - 使用 java 8 解析 LocalDateTime 的问题
- elasticsearch - Percolate query alternative for given use case
- ubuntu-14.04 - Python3.6 No module named '_curses'
- dbeaver - How do I enable or configure "Code Folding" and Side-by-Side Text Compare in DBeaver?
- python - 您可以在 TensorFlow/Keras 顺序网络中为多个输出设置目标吗
- kubernetes - K8S Fabric8 API + deploy、pod 和 service 一口气?
- list - 在列表中的每 n 个元素之后输出 y 元素