PepeF,
debes echar un vistazo a los tipos de columna de MySQL, concretamente a los numéricos y los de tipo de cadena de texto
http://dev.mysql.com/doc/refman/5.0/...umn-types.html
Sobre NULL y NOT NULL debes ver
http://dev.mysql.com/doc/refman/5.0/...with-null.html
Otra cosa es el uso de NULL por defecto en algunos campos.
Sobre PRIMARY KEY (o clave primaria) Y FOREIGN KEY (o clave foránea), debes ver sobre bases relacionales y lo que ello significa. En wikipedia pudes buscar clave primaria.
Pero si quieres verlo todo de una vez y referido a MysQL, mira aquí en los distintos apartados:
http://mysql.conclase.net/curso/?cap=007