2011-06-29 14 views
11

Czy istnieje sposób sortowania listy tabel zwróconych przez polecenie "show tables" mysql?tabele show mysql sortuj według nazwy tabeli

mysql> show tables; 

Chciałbym sortować alfabetycznie według nazwy tabeli.

EDIT:

Jak zauważył jeden z odpowiedzi są już w porządku alfabetycznym. Jednak A! = A. Czy istnieje sposób, aby zignorować przypadek w tym rodzaju?

+0

Duplikat: [PHP MYSQL: sposób wyświetlania listy w porządku rosnącym] (http://stackoverflow.com/questions/6076886/php-mysql-way-to-list-table-in-ending-order) – Orbling

Odpowiedz

24

information_schema zapytań i zastąpić database_name z nazwą bazy danych, którą chcesz przywrócić tabele z

SELECT table_name, engine 
FROM information_schema.tables  
WHERE table_type = 'BASE TABLE' AND table_schema='database_name' 
ORDER BY table_name ASC; 
0
SELECT CONCAT(`table_name`, '') 
FROM information_schema.tables  
order by 1 asc 

wszystko, czego potrzebujesz, po prostu przekształcić table_name regularnej typu varchar. A potem zamów jak zwykle ciąg.

+0

Dlaczego potrzebujemy tego? Jakiego typu jest "TABLE_NAME", numeryczne? –

+0

Odnosi się do tego [docs] (http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html) domyślnie wielkość liter działa tylko w przypadku zbiorów latin1 i latin1_swedish_ci. Ale 'table_name' jest utf8_general_ci \t sortowania. Prawdopodobnie jest to wielkość liter. – Vagif

0

Proszę wypróbować ten i zastąpić nazwę bazy danych.

SELECT nazwa_tabeli FROM INFORMATION_SCHEMA.tables GDZIE TABLE_SCHEMA = 'database' ORDER BY nazwa_tabeli ASC;