Доступные версии документации

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

Подготовка и выполнение 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)
Возвращаемое значение

Нет.

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter