2009-07-02 33 views
0

我繼承了一個類似bugzilla的頁面,允許用戶查看bug列表。我想擴展它,以便可以回答並關閉它們。查找更多有關數據庫信息

問題是我對數據庫結構瞭解不多。我所擁有的僅僅是連接細節和很少的示例sql查詢,它們提供了關於少數表的很好的提示。我怎樣才能找到數據庫類型(甚至不知道),並獲得有關它們的表格列表和詳細信息?

+1

你在使用什麼操作系統? – 2009-07-02 16:12:18

+0

@sheepsimulator:Windows。 – ya23 2009-07-02 19:27:08

回答

2

如果它有一個數據字典,則您需要調查數據庫引擎的數據字典。這完全取決於它是什麼類型的數據庫。要調查一下,請繼續閱讀!

  • 對於Oracle來說,有大量的 表組成數據字典。 試試看:

    SELECT * FROM SYS.ALL_TABLES; - 找出表

    SELECT * FROM SYS.ALL_TAB_COLUMNS WHERE owner ='schema'and table_name ='table_name_found_above';

  • SQLite的,嘗試運行(雖然我懷疑一個Bugzilla運行此):

    SELECT * FROM SQLITE_MASTER; - 這應該列出CREATE語句所有列名

  • 在MySQL和PostgreSQL,SQL Server將嘗試運行:

    SELECT * FROM INFORMATION_SCHEMA.TABLES; SELECT * from INFORMATION_SCHEMA.columns WHERE table_schema ='schema'and table_name ='table';

  • 在DB2中,嘗試:

    SELECT * FROM SYSCAT.TABLES; SELECT * FROM SYSCAT.columns其中,tabname ='table'和tabschema ='schema';其中,

如果你不知道什麼是數據庫引擎運行它的,只是儘量運行一幫表查詢的查詢工具,直到他們開始返回有效的結果;它會幫助你縮小你運行的數據庫引擎的範圍。然後,您可以將表名替換爲列查詢。

以上選項應該可以幫助您減少它。從那裏,你可以拉起數據庫引擎的文檔,並更多地瞭解它的功能。要麼是這樣,要麼我會與運行現在擁有的錯誤跟蹤器的服務器管理員談談,看看他/她是否可以挖掘更多信息。

1

我假設你有一個使用這個數據庫的工作應用程序。如果它通過ODBC連接,則可以(至少在Windows中)打開ODBC日誌記錄。他們很難手動解析,但這可能是一個額外的信息來源。

一旦你知道你正在查看什麼類型的數據庫,啓動你選擇的查詢工具,並開始挖掘。