在 python 中使用列表理解从 table 中获取一条记录?
Fetch a single record from table using list comprehension in python?
def fetch_maxno():
dsn_tns = cx_Oracle.makedsn('host', 'port', service_name='serviceno')
connection = cx_Oracle.connect(user='userno', password='pass', dsn=dsn_tns)
cursor = connection.cursor()
sqlquery = "SELECT MAX(ATTNO) AS MAXATTNO FROM HRT"
cursor.execute(sqlquery)
maxno = [{'maxattno': row[0]} for row in cursor.fetchall()]
connection.close()
return(maxno)
maxno = fetch_maxno()
for max_atno in maxno:
maxattno = (f"{maxno['maxattno']}")
print(maxattno))
我有上面的代码可以从我的 table 中获取一条记录。我有带数据库连接和查询的代码 fetch_maxno 函数。 select 在 maxno 变量中从 table 中获取一条记录。当我需要一条记录时,我正在使用它来理解列表,我认为有任何简单的方法可以在不使用这个 for 循环的情况下获得这个 maxattno。请指导我有没有其他方法可以得到这个。
您可以使用 cursor.fetchone()
而不是 cursor.fetchall()
例如
def fetch_maxno():
dsn_tns = cx_Oracle.makedsn('host', 'port', service_name='serviceno')
connection = cx_Oracle.connect(user='userno', password='pass', dsn=dsn_tns)
cursor = connection.cursor()
sqlquery = "SELECT MAX(attno) AS maxattno FROM hrt"
cursor.execute(sqlquery)
maxno = cursor.fetchone()
connection.close()
return(maxno)
maxno = fetch_maxno()[0]
print(maxno)
def fetch_maxno():
dsn_tns = cx_Oracle.makedsn('host', 'port', service_name='serviceno')
connection = cx_Oracle.connect(user='userno', password='pass', dsn=dsn_tns)
cursor = connection.cursor()
sqlquery = "SELECT MAX(ATTNO) AS MAXATTNO FROM HRT"
cursor.execute(sqlquery)
maxno = [{'maxattno': row[0]} for row in cursor.fetchall()]
connection.close()
return(maxno)
maxno = fetch_maxno()
for max_atno in maxno:
maxattno = (f"{maxno['maxattno']}")
print(maxattno))
我有上面的代码可以从我的 table 中获取一条记录。我有带数据库连接和查询的代码 fetch_maxno 函数。 select 在 maxno 变量中从 table 中获取一条记录。当我需要一条记录时,我正在使用它来理解列表,我认为有任何简单的方法可以在不使用这个 for 循环的情况下获得这个 maxattno。请指导我有没有其他方法可以得到这个。
您可以使用 cursor.fetchone()
而不是 cursor.fetchall()
例如
def fetch_maxno():
dsn_tns = cx_Oracle.makedsn('host', 'port', service_name='serviceno')
connection = cx_Oracle.connect(user='userno', password='pass', dsn=dsn_tns)
cursor = connection.cursor()
sqlquery = "SELECT MAX(attno) AS maxattno FROM hrt"
cursor.execute(sqlquery)
maxno = cursor.fetchone()
connection.close()
return(maxno)
maxno = fetch_maxno()[0]
print(maxno)