database programming table db-api cursor object attributes and methods syntax arraysize description the (readable/writablenumber of rows that fetchmany(will return if no size is specified close(closes the cursorcthis is done automatically when the cursor goes out of scope description read-only sequence of -tuples (nametype_codedisplay_sizeinternal_sizeprecisionscalenull_ok)describing each successive column of cursor execute(sqlparamsexecutes the sql query in string sqlreplacing each placeholder with the corresponding parameter from the params sequence or mapping if given executemanysqlseq_of_paramsexecutes the sql query once for each item in the seq_of_params sequence of sequences or mappingsthis method should not be used for operations that create result sets (such as select statementsreturns sequence of all the rows that have not yet been fetched (which could be all of themreturns sequence of rows (each row itself being sequence)size defaults to arraysize fetchall( fetchmany(sizec fetchone(returns the next row of the query result set as sequenceor none when the results are exhausted raises an exception if there is no result set rowcount the read-only row count for the last operation ( selectinsertupdateor deleteor - if not available or not applicable umenting our intentionsince sqliteunlike many other databasesdoes not enforce relational integrity (howeversqlite does have workaround based on sqlite ' genfkey command one other sqlite -specific quirk is that its default behavior is to support implicit transactionsso there is no explicit "start transactionmethod def add_dvd(db)title console get_string("title""title"if not titlereturn director console get_string("director""director"if not directorreturn year console get_integer("year""year"minimum= maximum=datetime date today(year