The Drupal admin interface allows you to delete up to 50 nodes at one time, which is great – but there are times when you it’s just not enough and you need to bulk delete many thousands of nodes. In this example we will delete all nodes of a particular type (page), a quick way to execute the code is to create a new node, set the input format to PHP, paste the code into the node body – add a title and click submit – don’t forget to delete the node when your done!
$node_type = 'page'; //fetch the nodes we want to delete $result = db_query("SELECT nid FROM {node} WHERE type='%s'",$node_type); while ($row = db_fetch_object($result)){ node_delete($row->nid); $deleted_count+=1; } //simple debug message so we can see what had been deleted. drupal_set_message("$deleted_count nodes have been deleted");