INT(2) is kinda wrong, INT can hold up to 10, so, you can use TINYINT(2), it's from -128 to 127 or 0 to 255 unsigned.
More info:
http://dev.mysql.com/doc/refman/5.0/en/data-types.html
EDIT:
It's better to use more smaller tables, yes it's harder but it should be faster for the SELECT.
NOT NULL is not null =) to be more explicit, if a column doesn't have "NOT NULL" it automatically sets the value to NULL if nothing is specified there when inserted... if you know you'll specify *all* columns you should use NOT NULL because it's a waste of space to use that null.
PRIMARY() doesn't affect the order of results, the order you SELECT them does.
PRIMARY() just sets it as index, unique and I think it has something to do with auto increment, I think it's required for it.
__________________