Mysql Information Schema

使用說明

       在Mysql中的INFORMATION_SCHEMA提供對數據庫元數據的訪問,關於MySQL服務器的信息,例如數據庫或表的名稱,列的數據類型或訪問權限。在其他系統中,有時用於說明此信息的術語是數據字典和系統目錄。

       INFORMATION_SCHEMA是每個MySQL實例中的一個數據庫,該位置存儲有關MySQL服務器維護的所有其他數據庫的信息。 INFORMATION_SCHEMA數據庫包含幾個只讀表。它們實際上是視圖,而不是基本表,因此沒有與它們關聯的文件,並且不能在它們上設置觸發器。另外,沒有使用該名稱的數據庫目錄。

       雖然可以使用USE語句選擇INFORMATION_SCHEMA作爲默認數據庫,但是隻能讀取表的內容,而不能對它們執行INSERT,UPDATE或DELETE操作。

字符集註意事項

       字符列的定義(例如TABLES.TABLE_NAME)通常爲VARCHAR(N)CHARACTER SET utf8,其中N至少爲64。MySQL使用此字符集的默認排序規則(utf8_general_ci)進行所有搜索,排序,比較和在此類列上的其他字符串操作。

       由於某些MySQL對象表示爲文件,因此文件系統區分大小寫會影響INFORMATION_SCHEMA字符串列中的搜索。

INFORMATION_SCHEMA替代SHOW語句

       INFORMATION_SCHEMA語句旨在以更一致的方式提供對MySQL支持的各種SHOW語句(SHOW DATABASES,SHOW TABLES等)提供的信息的訪問。與SHOW相比,使用SELECT具有以下優點:

  • 它符合Codd的規則,因爲所有訪問都在表上完成。
  • 可以使用熟悉的SELECT語句語法,只需要學習一些表名和列名。
  • 實現者不必擔心添加關鍵字。
  • 您可以過濾、排序、連接和將INFORMATION_SCHEMA查詢的結果轉換爲應用程序所需的任何格式,例如要解析的數據結構或文本表示。
  • 此技術與其他數據庫系統更可互操作。例如,Oracle數據庫用戶熟悉Oracle數據字典中的查詢表。

       因爲SHOW是熟悉的並且被廣泛使用,所以SHOW語句可以作爲替代。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章