Reposting my answer to a similar question regarding SQL Server:
In the SQL world, order is not an inherent property of a set of data. Thus, you get no guarantees from your RDBMS that your data will come back in a certain order -- or even in a consistent order -- unless you query your data with an ORDER BY clause.
So, to answer your question:
- MySQL sorts the records however it wants without any guarantee of consistency.
- If you intend to rely on this order for anything, you must specify your desired order using
ORDER BY
. To do anything else is to set yourself up for unwelcome surprises.