Joomla 3.x comes with a handy Update Joomla extension, this updates any extensions on the site including the Joomla core. Unfortunately on some installs (primarily one's migrated from Joomla 1.5 to Joomla 3.x) the "#__updates" table is missing from the database.
After spending hours trawling the internet, I worked out the missing tables and have written the following MySQL query which solves this issue:
DROP table IF EXISTS #__updates;
CREATE TABLE `#__updates` (
`update_id` int(11) NOT NULL AUTO_INCREMENT,
`update_site_id` int(11) DEFAULT '0',
`extension_id` int(11) DEFAULT '0',
`name` varchar(100) DEFAULT '',
`description` text NOT NULL,
`element` varchar(100) DEFAULT '',
`type` varchar(20) DEFAULT '',
`folder` varchar(20) DEFAULT '',
`client_id` tinyint(3) DEFAULT '0',
`version` varchar(32) DEFAULT '',
`data` text NOT NULL,
`detailsurl` text NOT NULL,
`infourl` text NOT NULL,
`extra_query` VARCHAR(1000) DEFAULT '',
PRIMARY KEY (`update_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Available Updates';