2012-03-02 27 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