Зачем вам нужно создавать курсор при запросе базы данных sqlite?

Я совершенно не знаком с модулем sqlite3 Python (и SQL в целом в этом отношении), и это просто ставит в тупик меня. Странно и обильное отсутствие описаний курсоров объектов (точнее, их необходимости).

Этот фрагмент кода является предпочтительным способом выполнения действий:

import sqlite3
conn = sqlite3.connect("db.sqlite")
c = conn.cursor()
c.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''')
conn.commit()
c.close()

Этот фрагмент кода не работает, хотя он работает так же хорошо и без (на первый взгляд бессмысленного) курсора :

import sqlite3
conn = sqlite3.connect("db.sqlite")
conn.execute('''insert into table "users" values ("Jack Bauer", "555-555-5555")''')
conn.commit()

Может кто-нибудь подскажите, зачем мне курсор ?
Это просто кажется бессмысленным. Для каждого метода в моем скрипте, который обращается к базе данных, я должен создать и уничтожить курсор ?
Почему бы просто не использовать объект соединение ?

120
задан Filipp W. 7 December 2017 в 05:10
поделиться