2012-03-02 67 views
0

我有一张大约100列的大桌子,因此在使用desc tablename时很难找到一列。排序方式desc表

我可以做一个order by当我描述一个表,例如desc users order by something

desc users的输出有Field | Type,因为列标题Field有列名,所以我想要做一些类似于desc users order by Field的事情。这有什么用吗?

回答

1

您想使用ANSI INFORMATION_SCHEMA:

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT 
    FROM INFORMATION_SCHEMA.COLUMNS 
WHERE table_name = 'tbl_name' 
    [AND table_schema = 'db_name'] 
    [AND column_name LIKE 'wild'] 
ORDER BY COLUMN_NAME 

参考:

+0

完美..谢谢.. :) – Pravin 2012-03-02 06:25:46

+0

'SELECT DISTINCT COLUMN_NAME,DATA_TYPE,IS_NULLABLE,COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS 在表格名= 'media_items' ORDER BY COLUMN_NAME' 不得不做'DISTINCT'因为它显示出来的列两次。 – Pravin 2012-03-02 06:40:32

+1

@Pravin:如果你指定'table_schema',我不认为这是必要的 - 我认为你已经在两个数据库/模式中获得了表。 – 2012-03-02 06:48:28

0

尝试

order by users,something desc 
+0

并不适用于我.. – Pravin 2012-03-02 06:16:33