The question of how natural evolution acts on DNA and protein sequences to ensure mutational robustness and evolvability has been asked for decades without definitive answer. We tackled this issue through a structurome-scale computational investigation, in which we estimated the change in folding free energy upon all possible single-site mutations introduced in more than 20,000 protein structures. The validity of our results are supported by a very good agreement with experimental mutagenesis data. At the amino acid level, we found the protein surface to be more robust to mutations than the core, in a protein length-dependent manner. About 4% of all mutations were shown to be stabilizing, and a majority of mutations on the surface and in the core to be neutral and destabilizing, respectively. At the nucleobase level, single base substitutions were shown to yield on average less destabilizing amino acid mutations than multiple base substitutions. More precisely, the smallest average destabilization occurs for substitutions of base III in the codon, followed by base I, bases I+III, and base II. This ranking highly anticorrelates with the frequency of codon-anticodon mispairing, and suggests that the standard genetic code is optimized more to limit translation errors than the impact of random mutations. Moreover, the codon usage also appears to be optimized for minimizing the errors at the protein level, especially for surface residues that evolve faster and have therefore been under stronger selection, and for biased codons, suggesting that the codon usage bias also partly aims to optimize protein mutational robustness.