After a failed upgrade, is updating the table structure enough?
When you do an import of an previous version of your database, you should first delete all the views / table because newer version of CiviCRM often create new tables that don't get deleted when you put the backup back.

If you do not want to (or can't) start the full update, you should :


look at domain table column version and find the version where it has crashed (e.g. 4.7.beta3)
go into CRM/Upgrade/Incremental/sql and find the last successful sql query - should be in the version immediately following your current version (e.g. 4.7.beta4.mysql.tpl if your version is 4.7.beta3)
get all the queries from the file you found and run them (e.g.  4.7.beta4.mysql.tpl) - you might have to change the .sql to change token (e.g. {$domainID} => 1, assuming you only have one domain)
change the domain::version to the new version (e.g. 4.7.beta4) in your database
check for any specific code in CRM/Upgrade/Incremental/php/FourXXX.php to check for specific upgrade code
relaunch the upgrade - it should be able to finish the upgrade