I have been focusing on writing a SQL statement to produce a MySQL database with several default options, including default character set and default collate. Can you really add syntax to create the default engine type for tables within this database to become InnoDB?

I have been searching with the MySQL manual for v.5.1 and I have found the statement ENGINE=innodb which may be appended to some CREATE TABLE statement... however i haven't found anything associated with a CREATE DATABASE statement.

It is possible to normal method of doing this included in the database creation, or must it be specified on the table-by-table basis?

Estimating the Reference Manual (Setting the Storage Engine):

Should you omit the ENGINE option, the default storage engine can be used. Normally, this really is MyISAM, however, you can alter it using the --default-storage-engine server startup option, or by setting the default-storage-engine option within the my.cnf configuration file.

You may even wish to alter the default storage engine only for the present session. This can be done by setting the storage_engine variable:

SET storage_engine=INNODB;

you have to specify the default storage engine when beginning mysqld. for instance:

mysqld --default-storage-engine=InnoDB

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_default-storage-engine