nell'esempio che hai fatto, secondo me un campo INT non è adatto a un numero di FAX, visto che perderesti gli zeri del prefisso, meglio un campo di testo.

Riguardo ai campi INT non inseriti, puoi assegnare loro un valore di default nella creazione della tabella ed evitare di inserirli nella query, se vuoti.

La query la puoi far generare dinamicamente.