2016-09-15 44 views
1

我最近一直在学习Python,并学习了如何连接到数据库并使用MYSQLdb从数据库中检索数据。但是,所有示例都显示如何获取多行数据。我想知道如何检索只有一行数据。在MYSQLdb中选择单个项目 - Python

这是我目前的方法。

cur.execute("SELECT number, name FROM myTable WHERE id='" + id + "'") 
results = cur.fetchall() 
number = 0 
name = "" 
for result in results: 
    number = result['number'] 
    name = result['name'] 

for result in results:似乎是多余的,因为我知道只会有一个结果。

如何在不使用for循环的情况下获得一行数据?

回答

2

.fetchone()救援:

result = cur.fetchone() 
1

使用.pop()

if results: 
    result = results.pop() 
    number = result['number'] 
    name = result['name'] 
+0

如果在'cur.execute()'不返回任何结果? 'results.pop()'会如何表现? –

+0

@GaryJohnson把它们放在里面如果检查结果是否为空。 – levi