Выполнение запроса
Назначение

Подготовка и выполнение SQL-запроса.

Синтаксические правила
cursor.execute(< SQL-запрос >[,< параметры >])

< SQL-запрос > ::= символьная строка

< параметры > ::= < окс >< python-элемент типа tuple > < зкс >
                  | < опс > < python-элемент типа list > < зпс >
                  | < офс > < python-элемент типа dict > < зфс >
< окс >::= (
< зкс >::= )
< опс >::= [
< зпс >::= [
< офс >::= {
< зфс >::= }
< python-элемент типа tuple > ::=
см. спецификацию языка программирования Python
< python-элемент типа list > ::=
см. спецификацию языка программирования Python
< python-элемент типа dict > ::=
см. спецификацию языка программирования Python

Примечание

Синтаксис SQL-запросов (в том числе параметризованных) описан в документе «СУБД ЛИНТЕР. Справочник по SQL» (см. также атрибут paramstyle класса Connection).

Описание

Ссылка на SQL-запрос сохраняется курсором. Если объект операции SQL-запроса передается снова на обработку, курсор может оптимизировать свое поведение (не выполнять повторную трансляцию SQL-запроса, а использовать его претранслированный вариант). Это наиболее эффективно для алгоритмов, в которых много раз используется одна и та же операция с привязкой различных параметров.

Привязка значений к неименованным параметрам выполняется в порядке следования значений:

  1. в случае передачи параметров в виде python-элемента типа tuple:

    cursor.execute("insert into PEOPLE (ID, NAME) values (?, ?)", (1, "BORIS"))
  2. в случае передачи параметров в виде python-элемента типа list:

    cursor.execute("insert into PEOPLE (ID, NAME) values (?, ?)", [1, "BORIS"])

    В результате в обоих вариантах будет добавлена строка со значением полей:

    ID=1, NAME="BORIS", BDAY= значение по умолчанию (если определено или NULL).
  3. привязка значений к именованным параметрам выполняется с помощью python-элемента типа dict, например:

    cursor.execute("insert into PEOPLE (ID, NAME, BDAY) values (:I, :N, :D)", {"I" : 1, "N" : "BORIS", "D" : LinPy.Date(1980, 5, 27)}) 

    В результате будет добавлена строка со значением полей:

    ID=1, NAME="BORIS", BDAY= LinPy.Date(1980, 5, 27)
Возвращаемое значение

Нет.