Ergänzend zu den bisherigen Antworten, ich baue Tabellen gerne so auf.
Am Anfang ein Identitätswert und sonstige Sortierkriterien wie Einfügedatum oder so. Dann der Reihe nach alles was ich beim Debuggen und Testen mit SELECT * am Anfang sehen will. Zum Beispiel Vorname/Nachname, da machts dann schon Sinn wenn das hintereinander erscheint.
Fremdschlüssel, lange Strings und sonstiges was mich beim schnellen Reinschauen in die Tabelle erst mal nicht interessiert, landet dann eher am Ende der Tabelle.
Im Code gibt es kein SELECT *, da wird jede Spalte aufgeführt und der Zugriff auf Felder erfolgt nicht über einen Index sondern über den Namen.