Syntax:
cursor.executemany(operation, seq_of_params)
        This method prepares a database operation
        (query or command) and executes it against all parameter
        sequences or mappings found in the sequence
        seq_of_params.
      
In Python, a tuple containing a single value must include a comma. For example, ('abc') is evaluated as a scalar while ('abc',) is evaluated as a tuple.
        In most cases, the executemany() method
        iterates through the sequence of parameters, each time passing
        the current parameters to the execute()
        method.
      
An optimization is applied for inserts: The data values given by the parameter sequences are batched using multiple-row syntax. The following example inserts three records:
data = [
  ('Jane', date(2005, 2, 12)),
  ('Joe', date(2006, 5, 23)),
  ('John', date(2010, 10, 3)),
]
stmt = "INSERT INTO employees (first_name, hire_date) VALUES (%s, %s)"
cursor.executemany(stmt, data)
        For the preceding example, the
        INSERT statement sent to MySQL
        is:
      
INSERT INTO employees (first_name, hire_date)
VALUES ('Jane', '2005-02-12'), ('Joe', '2006-05-23'), ('John', '2010-10-03')
        With the executemany() method, it is not
        possible to specify multiple statements to execute in the
        operation argument. Doing so raises an
        InternalError exception. Consider using
        Section 9.3, “Executing Multiple Statements” instead.