Albert Lukaszewski

MySQL for Python

  • DDaudalagidhas quotedlast year
    Catching different exceptions

    To customize which error is caught, we need different except clauses. The basic structure of this strategy is as follows:

    except ErrorType1:

    except ErrorType2:
  • DDaudalagidhas quotedlast year
    Each of the previous types can be caught with the DatabaseError type. However, catching them separately allows you to customize responses. For example, you may want the application to fail softly for the user when a ProgrammingError is raised but nonetheless want the exception to be reported to the development team. You can do that with customized exception handling.
  • DDaudalagidhas quotedlast year
    For exceptions see:
    For warnings visit:
    The Python documentation also covers them at:


  • DDaudalagidhas quotedlast year
    except MySQLdb.Error, e:
    print "An error has been passed. %s" %e
  • DDaudalagidhas quotedlast year
    An exception is only explicitly registered when raise is used. Instead of the print statement used in the except clause previously, we can raise an error and update the print statement with the following line of code:
    raise MySQLdb.Error
    Instead of the friendly statement about an error passing, we get a stack trace that ends as follows:
  • DDaudalagidhas quotedlast year
    The executemany() method may be used not only to insert or update data, but may also be used to run multiple queries.
  • DDaudalagidhas quotedlast year
    Note that % is a universal quantifier and matches any number of any characters—even zero occurrences of characters.
  • DDaudalagidhas quotedlast year
    The savings here are in memory usage—more or less the same system resources are allotted for each iteration and then released back to the system to be allotted again. So memory usage does not ramp up with each iteration.
  • DDaudalagidhas quotedlast year
    Where fetchone() was simply a method of the cursor object, fetchmany() requires the desired number of records to be passed as an argument. The basic syntax of the call is as follows:
    = .fetchmany()
  • DDaudalagidhas quotedlast year
    The common, non-technical view is that servers can process requests from multiple users at one time. This is erroneous. Servers process requests quickly using a first-in first-out (FIFO) queue system.
Drag & drop your files (not more than 5 at once)