Уведомления

Группа в Telegram: @pythonsu

#1 Март 11, 2020 08:01:32

pavel13079
Зарегистрирован: 2020-02-26
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

SQl PYTHON

Подскажите что делает оператор в скобках?
и в чем отличие этого метода от fetchall()?

 it=self.cursor.fetchone()[0]

Отредактировано pavel13079 (Март 11, 2020 08:13:09)

Офлайн

#2 Март 11, 2020 10:23:18

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

SQl PYTHON

В квадратных скобках указывается индекс для получения элемента кортежа, который получается в результате выполнения fetchone. В данном случае получаем значение первой колонки (индекс 0).
Отличие методов в том, что fetchall вернёт все строки курсора, а fetchone - только одну “текущую” строку/запись из курсора и будет готов, при следующем вызове, выдать следующую строку/запись.
one возвращает кортеж, содержащий столбцы одной строки, all возвращает все записи/строки, упакованные в кортеж, т.е. кортежи в кортеже.

Отредактировано Rafik (Март 11, 2020 10:25:33)

Офлайн

#3 Март 11, 2020 18:21:33

pavel13079
Зарегистрирован: 2020-02-26
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

SQl PYTHON

Rafik
В квадратных скобках указывается индекс для получения элемента кортежа, который получается в результате выполнения fetchone. В данном случае получаем значение первой колонки (индекс 0).Отличие методов в том, что fetchall вернёт все строки курсора, а fetchone - только одну “текущую” строку/запись из курсора и будет готов, при следующем вызове, выдать следующую строку/запись.one возвращает кортеж, содержащий столбцы одной строки, all возвращает все записи/строки, упакованные в кортеж, т.е. кортежи в кортеже.


Если у нас таблица и этот метод возвращает строку,то можно считать что этот индекс влияет на возвращаемый столбец из этой строки

Офлайн

#4 Март 11, 2020 19:13:11

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

SQl PYTHON

Совершенно верно,

 cursor.fetcnone()[n] # получаем значение из колонки с индексом n
cursor.fetcnall[n] # получаем строку с индексом n
cursor.fetcnall[n][m] # получаем значение из колонки с индексом m со строки с индексом n 
Индекс первой колонки = 0, второй = 1 и т.д. Тоже самое для строк.

Отредактировано Rafik (Март 11, 2020 19:16:43)

Офлайн

#5 Март 11, 2020 20:51:54

pavel13079
Зарегистрирован: 2020-02-26
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

SQl PYTHON

Rafik
Совершенно верно,
Спасибо большое)Ибо нигде не мог найти информацию по этому)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version