code: async def execute(self, query: str, *args, timeout: float=None) -> str:
          
          self._check_open()
  
          if not args:
              return await self._protocol.query(query, timeout)
  
          _, status, _ = await self._execute(query, args, 0, timeout, True)
          return status.decode()
docs: Execute an SQL command (or commands).
  
          This method can execute many SQL commands at once, when no arguments
          are provided.
  
          Example:
  
          .. code-block:: pycon
  
              >>> await con.execute('''
              ...     CREATE TABLE mytab (a int);
              ...     INSERT INTO mytab (a) VALUES (100), (200), (300);
              ... ''')
              INSERT 0 3
  
              >>> await con.execute('''
              ...     INSERT INTO mytab (a) VALUES ($1), ($2)
              ... ''', 10, 20)
              INSERT 0 2
  
          :param args: Query arguments.
          :param float timeout: Optional timeout value in seconds.
          :return str: Status of the last SQL command.
  
          .. versionchanged:: 0.5.4
             Made it possible to pass query arguments.