query = '''select name from lables;'''
# 7. 커넥션으로부터 커서를 가져온다.
cursor = connection.cursor()
# 8. 쿼리문을 커서에 넣어서 실행한다.
cursor.execute(query)
# select 문은 아래 내용이 필요하다.
record_list = cursor.fetchall()
print(record_list)
fetchone(), fetchmany(), fetchall()이라는 친구들로 원하는 만큼만 꺼내올 수 있다.
쉽게 말해서, sql문장의 리턴값은 cursor 객체에 들어있고,
그 cursor객체에서 데이터를 가져오고 싶으면 fetch 메소드를 사용해서 가져와야 한다.
일단
fetchone()
fetchmany(size)
fetchall()
이렇게 사용이 되는데 딱 느낌이 오지 않는가?
one은 말 그대로 하나. all은 전부 다.
many는 옵션을 주어서 원하는 만큼만 가져오는 것이다.
장고의 ORM과 비교하면서 설명하자면,
one은 ~.objects.get을 해서 하나의 쿼리셋 을 가져온거고,
many와 all은 ~.objects.filter / ~.objects.all 을 해서 여러개의 쿼리셋 리스트를 가져온 것이다.