Spec-Zone.ru › MySQL Connectors 1.0

10.5.7 Метод MySQLCursor.execute()

Синтаксис:

cursor.execute(operation, params=None)
iterator = cursor.execute(operation, params=None)

# Allowed before 9.2.0
iterator = cursor.execute(operation, params=None, multi=True)

Этот метод выполняет заданную базу данных operation (запрос или команду). Параметры, найденные в кортеже или словаре params, привязываются к переменным в операции. Указывайте переменные, используя %s или %(name)s стиль параметров (то есть, используя format или pyformat стиль).

До версии Connector/Python 9.2.0, execute() принимал опцию multi и возвращал итератор, если был установлен в значение True. Эта опция была удалена в версии 9.2.0, и была добавлена раздел 9.3, «Выполнение нескольких инструкций».

Примечание

В Python кортеж, содержащий единственное значение, должен включать запятую. Например, ('abc') оценивается как скаляр, в то время как ('abc',) оценивается как кортеж.

В этом примере вставляется информация о новом сотруднике, а затем выбираются данные для этого человека. Инструкции выполняются как отдельные execute() операции:

insert_stmt = (
  "INSERT INTO employees (emp_no, first_name, last_name, hire_date) "
  "VALUES (%s, %s, %s, %s)"
)
data = (2, 'Jane', 'Doe', datetime.date(2012, 3, 23))
cursor.execute(insert_stmt, data)

select_stmt = "SELECT * FROM employees WHERE emp_no = %(emp_no)s"
cursor.execute(select_stmt, { 'emp_no': 2 })

Значения данных преобразуются при необходимости из объектов Python в формат, понятный MySQL. В приведенном выше примере, экземпляр datetime.date() преобразуется в '2012-03-23'.

Если соединение настроено на получение предупреждений, предупреждения, сгенерированные операцией, доступны через метод MySQLCursor.fetchwarnings().

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-python-en/connector-python-api-mysqlcursor-execute.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API