Soru mysql tablo sütun isimlerini alfabetik sıraya göre al


Bir tablonun sütun isimlerini alfabetik olarak almak için MySQL veritabanını sorgulamak mümkün mü? bunu biliyorum

SHOW COLUMNS `table_name`;

veya

DESCRIBE `table_name`;

bir tablodaki sütunların listesini verir (diğer bilgilerle birlikte), ancak sütunları alfabetik olarak sıralamak için sorguyu değiştirmek mümkün olur. 'Field' BY ORDER ekleme işe yaramadı, bir sözdizimi hatası verdi.


20
2017-09-24 21:25


Menşei




Cevaplar:


ANSI INFORMATION_SCHEMA tabloları (bu durumda, INFORMATION_SCHEMA.COLUMNS) MySQL'de daha fazla esneklik sağlamak:

SELECT c.column_name
  FROM INFORMATION_SCHEMA.COLUMNS c
 WHERE c.table_name = 'tbl_name'
-- AND c.table_schema = 'db_name'    
ORDER BY c.column_name

27
2017-09-24 21:39



Harika çalıştı, tekrar kullanırdı. Bana neden c.table_schema koşulunun orada olduğunu söyleyebildiğini söyleyeyim, çünkü onsuz çalışıyor gibiydi. - John Scipione
@John Scipione: Çift çizgi "-" SQL'de bir yorumdur; table_schema sorgudan yorumlanır. İfadede değerlendirilmek üzere çift çizgi kaldırmak. - OMG Ponies


Kullanana kadar her alan iki kez listelendi group by column name

 select c.COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS c 
 where c.TABLE_NAME = `'tbl_name'` 
 group by c.column_name 
 order by c.column_name

3
2017-12-16 14:56





Daha fazla ayrıntı istiyorsanız, aşağıdaki sorgu gerçekten kullanışlı:

   SELECT COLUMN_NAME  as 'Field',
   COLUMN_TYPE    as 'Type',
   IS_NULLABLE    as 'Null',
   COLUMN_KEY     as 'Key',
   COLUMN_DEFAULT as 'Default',
   EXTRA          as 'Extra'
   from INFORMATION_SCHEMA.COLUMNS
   where TABLE_NAME   = 'my table' and
   TABLE_SCHEMA = 'my database'
   add ordering
   order by Type;  -- 

2
2018-01-10 18:07