2016-02-17 2 views
-1

В настоящее время у меня есть удаленная таблица mysql, которая соединяется через create_engine. после того, как я получил базу данных, созданную с помощью conn = engine.connect(), я использовал cuteCatNum = conn.execute("SELECT COUNT(*) FROM cat_table;"), чтобы сохранить то, что должно быть выходом команды в переменную cuteCatNum. Но проблема в том, что я не могу показать, что такое счет, когда я пробовал print cuteCatNum. Кроме того, попытка print str(cuteCatNum) не работает, поскольку она просто печатает местоположение памяти вместо вывода. Итак, мой вопрос: как я могу получить количество строк из удаленного mysql как можно проще и распечатать его?Имейте sqlalchemy, подсчитайте количество строк в таблице и распечатайте ее

ответ

2
conn.execute("SELECT COUNT(*) FROM cat_table;") 

возвращение объекта ResultProxy.

Вы можете получить доступ к значению этого объекта, как это:

col1 = cuteCatNum[0] # access via integer position 
col2 = cuteCatNum['COUNT'] # access via name 
+0

Я попытался использовать оба кода выше, но он, похоже, не работал. Он продолжал выкидывать ошибки, которые не имеют '__getitem__'. https://gist.github.com/77a8a80bd26c38dc5bab – EndenDragon

+0

О, я понял! Благодаря! У меня был цикл for, который получает значение cuteCatNum [0] для каждой строки в conn.execute («SELECT COUNT (*) FROM cat_table;»). – EndenDragon

0
res = conn.execute("SELECT COUNT(*) FROM some_table;") 

возвращает объект ResultProxy, а затем использовать:

rowcount = res.scalar() 
Смежные вопросы