Why isn't the neural network updated after every example in the dataset
Weights get updated based on the number of examples you feed in a batch. This is because, a full pass(forward and backward) of matrix computations has to be completed in order for the weights to be updated, after back-propagation and proceeding with next epoch, with batch type you had chose.
Moreover, If you use stochastic gradient descent, where each example will be processed at a time, your weights will updated after having processed every example.