Which data type to choose for your fields?

Designing databases: Picking The Right Data Types is an article by Brandon Savage that provides useful tips on choosing the correct data types for your fields. A quote from the article:

For example, MySQL supports some 10 different numeric data types (INTEGER, TINYINT, SMALLINT, MEDIUMINT, BIGINT, DECIMAL, NUMERIC, FLOAT, REAL, and DOUBLE PRECISION), meaning that database designers need to know and understand how to use each one of them properly. Using them improperly adds stress to the database and generally reflects bad database design.