【发布时间】:2023-01-09 03:09:53
【问题描述】:
我有一个看起来像这样的表(总结一下,第一行是列名):
'hand_total', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'A'
('5', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H')
('6', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H')
('7', 'H', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H')
('8', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H')
('9', 'H', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H')
('10', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H')
('11', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H')
('12', 'H', 'H', 'S', 'S', 'S', 'H', 'H', 'H', 'H', 'H')
('13', 'S', 'S', 'S', 'S', 'S', 'H', 'H', 'H', 'H', 'H')
我希望能够使用 python 变量通过标题名称和“hand_total”列中存在的值从该表中选择一个值。例如,如果我想要一个值,其中 '3' 列和 hand_total=='11 intersect' 行,我希望返回值 'D'。但无论我尝试什么,我似乎都无法让我的 sqlite3 查询返回我所期望的。
我尝试过
cur == conn.cursor()
cur.execute("SELECT 3 FROM test_table")
results = cur.fetchall()
我希望上面的内容能够返回标题为“3”的列中的所有列值。但我得到的结果最终只是显示
[(3,), (3,), (3,), (3,) ....] until all length of db
【问题讨论】:
-
如果列名是数字,则需要将其放在反引号内,否则将被视为数字文字。尽量避免这样的列名。
-
hand_total = '11 intersect'没有行。您真的是想在值中包含intersect吗?
标签: python database sqlite sqlite3-python