Вам это не нужно - одна строка запроса уже может содержать несколько отдельных запросов.
Цитирование из документация по протоколу проводного соединения , акцент добавлен:
Простой цикл запроса инициируется внешним интерфейсом, отправляющим сообщение запроса в серверную часть.Сообщение включает в себя команду SQL (или команды) , выраженную в виде текстовой строки.Затем серверная часть отправляет одно или несколько ответных сообщений в зависимости от содержимого командной строки запроса и, наконец, ответное сообщение ReadyForQuery.ReadyForQuery информирует интерфейс о том, что он может безопасно отправить новую команду.(На самом деле нет необходимости для внешнего интерфейса ждать ReadyForQuery перед выполнением другой команды, но затем внешний интерфейс должен взять на себя ответственность за выяснение того, что произойдет, если более ранняя команда завершится неудачно, а уже выпущенные более поздние команды будут успешными.)
... и более поздние версии:
Поскольку строка запроса может содержать несколько запросов (разделенных точками с запятой), может быть несколько таких последовательностей ответов, прежде чем серверная часть завершит обработку строки запроса. ReadyForQuery выдается, когда вся строка обработана и сервер готов принять новую строку запроса.
Таким образом, стандартному вызову cursor.execute()
можно датьСписок отдельных запросов, разделенных точкой с запятой.