While learning mysql, I just read that you could perform following statement when adding a column to some mysql table:

ALTER TABLE contacts ADD email VARCHAR(60) AFTER name;

or

ALTER TABLE contacts ADD email VARCHAR(60) FIRST;

When would for you to do this? Can column order be part of query optimisation reasons? Should longblobs function as the last column to optimize space consumption? Or do these instructions exist to many other reason?

This can however impact an order from the lead to select * from mytable.

For this reason it is best to title the column within the choose statement, e.g. select col1, col2 from mytable. But when you will know the application is applying *, then you definitely will need to take care whenever you give a column.

Otherwise, order the column to ensure that it is the most logical to know. Whether it affects the perf, it means you're already around the negative side of database performance tuning and you've got most likely an issue elsewhere.

No it should not matter. A stabilized database shouldn't have constraints around the column order, too.

column order is not important. This really is purely convenient feature. just to let you restructure your database table wish once it has been produced.

The relational model doesn't have idea of ordering of posts within rows with no idea of ordering of rows within tables.