[storm] I need a tutorial that deals with working on an established database.
Mark Richardson
MRichardson3 at gmail.com
Tue Jul 7 05:03:45 BST 2009
Greetings all,
I am a noob. Please go easy on me. I've been searching for a tutorial
that shows how you can work with an existing database.
I.e, the database's schema has already been defined (it's a Joomla
database). I need to be able to select the
table I want, iterate over the rows in the database, change some records
and finally write the changes to those records back out.
All of the tutorials I've been able to find on the Internet seem to show
the user creating the tables from scratch. Having to write
python classes showing how the fields are defined, for example. In my
case, all of that work is done. I want
to open the database, have it give me a list of tables and subsequently
the columns in those tables
and then iterate over all of the rows in the table changing columns as
per needed. Below would be some
hypothetical pseudo code showing what I want to do. I'd like to see some
real world examples that accomplishes
the same task, but written using Storm.
<begin hypothetical code>
database = open('/mysql/joomla.db','rw') # this is way simplified
as I know MYSQL needs a bunch of parameters, but basically I want to
open it in read, write mode.
tablelist = database.tables() #get me the list of
all tables associated with the database
for table in tablelist: # iterate through
all of the tables in the database
columnlist = table.columns() # for each table, return a
list of all of the column names,
rowlist = table.fetchall() # put all rows into a
database list, alternatively I might use the fetchone() option if I want
to do it one by one
for row in rowlist: # now iterate through every
row in the table in the database
row.column(columnlist[0]) = row.column(columnlist[0]) * 0.07 #
for each row in the table, multiply the first column by 7 percent
row.column('AnnualPay') = row.column('AnnualPay') * 0.07
#alternatively, we could directly access the field name if we knew its
name a-priori
row.save()
#write the row changes back out to the data base table
table.close()
#close the table and save the changes
database.close()
#finish with the database.
<end hypothetical code>
I know this pseudo code is extremely terse and probably wrong in some
places, but it gives the flavor of what I want to do. I
just need some simple code showing me how to process every row of a
table in a database. If this question has already been
answered, could you please send me the link to the final discussion. I
may be showing a fundamental lack of understanding
about using a database, but it seems I should be able to manipulate my
database this way if I choose to.
Thank you all,
Mark Richardson
mrichardson3 @ gmail.com
More information about the storm
mailing list