#!/usr/bin/python # TITLE: dbtrainer3 # WRITTEN BY: Bradley Stec, July 1999 # RuleSpace, Inc. # SUPPORTS: WebOps Database Interface Trainer Script # PURPOSE: This script is a code and output example of how to use the # MySQLdb API to communicate to a database and perform basic # SQL command language requests. # FUNCTION: Both by executing the script and by reading the source code, # a programmer should be able to get a grasp on how the interface # works and may borrow code for their own script projects. # REQUIREMENTS: This script requires the access to the webops module, and that a # database named "test" be installed in the webops specified # database server. # # CHANGES: 7/99 Initial Version import sys import webops import traceback sys.stderr = sys.stdout # Set Up Page Layout print "content-type: text/html" print print "\n" print "
\n" print "RuleSpace, Inc. WebOps Database Interface Trainer -- Part 3" print "By viewing the CGI script which presents the information below you'll be able to see how the database interface and API works within the WebOps scripting environment.
" print "
" traceback.print_exc() sys.exit() # A LITTLE BONUS INFORMATION FROM THE API # The API can provide some information about the connection and server. Note that these functions are # making use of the "db" object which is a sub-class of the WebOpsDB object. The "db" object bypasses the "wrapper" # level of the MySQLdb interface and speaks directly to the C coded _mysqlmodule.so, therefore it is not recommended # that you use this method frequently in timing-sensitive script applications. print "CONNECTED TO\n" print "\n"
" print " server ", WebOpsDB.db.get_host_info(), "
" print " running mySQL server v", WebOpsDB.db.get_server_info(), "
" print " current status: ",WebOpsDB.db.stat(), "" print "
" # CREATE YOUR PERSONAL CONNECTION TO THE "RESULTS" WITHIN THE CONNECTION OBJECT # We haven't actually queried anything yet, so don't get confused, we're just preparing for it. try: cursor = WebOpsDB.cursor() except: print "\n\n" traceback.print_exc() sys.exit() # EXAMPLE: DELETING A RECORD # This example deletes record. try: cursor.execute("DELETE FROM TEAM WHERE FIRST_NAME='Frederick' AND LAST_NAME='Clueless';") cursor.execute("DELETE FROM TEAM WHERE FIRST_NAME='Ruprecht';") except: print "\n\n" traceback.print_exc() sys.exit() # REQUERY TO SEE RESULTS try: cursor.execute("SELECT * FROM TEAM") resultSet = cursor.fetchall() except: print "\n\n" traceback.print_exc() sys.exit() print "EXAMPLES OF USING THE DELETE SQL COMMAND." print "DELETING FRED AND HIS FRIEND RUPRECHT
" print "" print "" print "" print "
" for cursorFieldname in cursor.description: print " " for cursorRecord in resultSet: print "" print " " +cursorFieldname[0]+ " " for cursorField in cursorRecord: print " " print "" print cursorField print " " print "" # CLOSING THE DATABASE OBJECT try: WebOpsDB.close() except: print "\n\n
" traceback.print_exc() sys.exit() # CONTINUED IN DBTRAINER4 # To learn more about converting result sets into Python dictionary data types, see dbtrainer4. print "