2012-11-08 17 views
5

Wie werden die bestellten Tabellen von "SHOW TABLES" zurückgegeben?MySQL: Sortierreihenfolge "SHOW TABLES"

Zum Beispiel die Ausgabe für die information_schema Datenbank sieht wie folgt aus:

CHARACTER_SETS 
COLLATIONS 
COLLATION_CHARACTER_SET_APPLICABILITY 
COLUMNS 
COLUMN_PRIVILEGES 
ENGINES 
EVENTS 
FILES 
GLOBAL_STATUS 
GLOBAL_VARIABLES 
KEY_COLUMN_USAGE 
PARAMETERS 
PARTITIONS 
PLUGINS 
PROCESSLIST 
PROFILING 
REFERENTIAL_CONSTRAINTS 
ROUTINES 
SCHEMATA 
SCHEMA_PRIVILEGES 
SESSION_STATUS 
SESSION_VARIABLES 
STATISTICS 
TABLES 
TABLESPACES 
TABLE_CONSTRAINTS 
TABLE_PRIVILEGES 
TRIGGERS 
USER_PRIVILEGES 
VIEWS 
INNODB_CMP_RESET 
INNODB_TRX 
INNODB_CMPMEM_RESET 
INNODB_LOCK_WAITS 
INNODB_CMPMEM 
INNODB_CMP 
INNODB_LOCKS 
+1

denke ich, wie jede andere Tabelle. Die Bestellung ist nicht garantiert, es ist ein Set. Kein Cursor. –

Antwort

7

See Sergei Golubtschik Antwort von SHOW DATABASES does not order infomation_schema correct: "no SHOW-Befehl sortiert das Ergebnis".

Wenn Sie den Tabellennamen sortiert benötigen, können Sie information_schema.tables abfragen, so etwas wie:

select table_name from information_schema.tables 
where table_schema = 'your_db_name' order by table_name; 
0

Try this:

SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'information_schema' ORDER BY TABLE_NAME 
0

Der Code unten funktioniert ziemlich gut für mich bestimmte Tabellen auf jeder meiner Datenbank aufzulisten und sortieren sie nach ihrem Namen als fragte.

SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_here' AND TABLE_NAME LIKE '%letters_from_your_table_here%' ORDER BY TABLE_NAME DESC