파이썬 스크립트에서 sqlite 데이터베이스에 간단한 쿼리를 작성하려고합니다. 내 매개 변수가 올바른지 테스트하려면 ipython 명령 줄에서 쿼리를 실행 해 보았습니다. 다음과 같이 보입니다.sqlite에 쿼리를 제출할 때 IPython이 여러 필드가있는 레코드를 반환 할 수없는 이유는 무엇입니까?
import sqlite3
db = 'G:\path\to\db\file.sqlite'
conn = sqlite3.connect(db)
results = conn.execute('SELECT * FROM studies').fetchall()
내 결과가 완전히 비어 있습니다. 그런 다음 다른 테스트 쿼리를 시도했습니다.
results = conn.execute('SELECT id FROM studies').fetchall()
올바르게 반환되었습니다. 별표 ([WRONG, SEE SEC UPDATE UPDATE BELOW])에 문제가있는 것으로 생각하여 기본 파이썬 명령 줄에서 'SELECT * FROM studies'쿼리를 시도했습니다. 보라, 보라, 올바르게 돌아왔다. 별표를 벗어나기 위해 모든 일반적인 방법을 시도했지만 다양한 오류 메시지가 나타납니다. IPython에서이 쿼리를 실행할 방법이 있습니까?
EDIT : 죄송합니다. IronPython과 IPython이 동일하다고 잘못 생각했습니다. 내가 의미했던 것은 IPython 명령 줄이었고 IronPython 프레임 워크는 아닙니다.
EDIT2 : 여기에 게시 된 제안에서
'SELECT COUNT(*) FROM studies'
,이 레코드를 반환하는 시도에서 오류가 발생 밝혀 : 좋아, 그것은 별표이 성공적으로 쿼리와 같이 작업 않습니다 밝혀 여러 필드 (예 :
). 결과로 여전히 레코드가 반환됩니다. 그에 따라 질문의 제목을 변경했습니다.
'*'쿼리를 시뮬레이션해도 아무 것도 반환되지 않았습니다. 그것은 하나의 필드를 물어볼 때 쿼리가 작동하는 것 같습니다. 나는 당신이 일반적인 파이썬 명령 줄에서 제안한 쿼리를 시도하고, 나는 정확한 답을 얻었다. 이로 인해 ironpython은 SQL 쿼리를 보내기 전에 약간 다른 방식으로 작업하고 있다고 생각하게됩니다. – Francisco
인터프리터 프롬프트에서 쿼리를 실행하는 경우 반환 값은 무엇입니까? – Christopher