使用 python 从 sql 数据库中检索数据

Retrieve data from sql database using python

我是 python 和 SQL 的新手。 我的数据库包含一个存储图像路径的字段。 我想将每个路径分配给 python 中的一个变量。 我只能存储第一行的路径。 这是我的代码

import pymysql
from arcpy import env

env.workspace = "D:/year 4 semester 1/Python/Data/"
conn= pymysql.connect(host='localhost',user='root',password='',db='research')
cursor = conn.cursor ()

cursor.execute ("select Path from sourcedata")
data = cursor.fetchmany()
for row in data :
    a= row[0]
print a

但是当我尝试按照包括所有其他相关文本的方式时

for row in data :
     a= row[0]
     b = row[1]
     c = row[2]
print a

出现以下错误

IndexError: tuple index out of range

您需要缩进 print a 语句以使其成为循环的一部分。 Python 对缩进非常敏感。在其他语言中,您使用大括号或 BEGIN END 块,但在 python 中您使用缩进。

row[0], row[1] 指的是检索到的行中的元素,而不是不同的行。

缩进打印行,它将打印每条记录的第一个返回字段 Path。

元组索引超出范围,因为只返回一个字段(元素零)。

您当前的代码将遍历返回的每一行并依次为每一行设置 a,但只会在循环结束后打印 a 的最后一个值。