如何列出 MySQL 數據庫(分步代碼教程)
已發表: 2022-10-22MySQL 是當今使用最廣泛的關係數據庫管理系統 (RDBMS) 之一。 它是一個強大的數據庫平台,允許創建和管理可擴展的數據庫,主要使用結構化查詢語言 (SQL)。
MySQL 服務器是數據庫所在的環境,也是訪問數據庫的地方。 作為服務器管理員,您經常需要檢索有關此環境的詳細信息——列出服務器上的數據庫、顯示來自特定數據庫的表、查看用戶角色和權限、訪問約束等。
本文將解釋如何通過命令提示符列出 MySQL 數據庫的來龍去脈。
列出 MySQL 數據庫的先決條件
您必須在本地機器上運行 MySQL 服務器才能開始。 如果你沒有 MySQL,有幾種安裝方法:
- 安裝 WAMPServer、XAMPP、MAMP 或任何其他包含 MySQL 的軟件分發堆棧。
- 直接從他們的官方網站下載並運行 MySQL 安裝程序,通過設置過程來配置和安裝 MySQL 服務器和其他工具。
為了方便地使用命令行運行 MySQL 命令,您需要將 MySQL 可執行文件的路徑添加到系統環境中。 如果您使用選項 2 安裝 MySQL,則不需要此步驟,因此請隨意跳過下一節。
將 MySQL 路徑添加到系統的變量環境
如果您在 Windows 計算機上運行 XAMPP 或 WAMP,本節將指導您將 MySQL 可執行路徑添加到系統的變量環境中。
首先,啟動您的 Windows 文件資源管理器並導航到This PC 。 單擊已安裝 WAMP 或 XAMPP 包的驅動器 ( C: )。
如果您正在運行 XAMPP,請導航到xampp > mysql > bin並將完整路徑複製到bin文件夾。 對於 WAMP,通過{your-wamp-version} > bin > mysql > {your-mysql-version} > bin導航到其完整路徑。
單擊開始菜單並蒐索“路徑”。 單擊編輯系統環境變量。
然後,單擊Startup and Recovery下的Environment Variables ,選擇 PATH 變量並單擊Edit 。
接下來,單擊新建並將完整路徑粘貼到您的 MySQL 可執行文件(您之前複製的)。
然後,單擊OK保存更改。
現在已經添加了路徑,您可以在終端中執行 MySQL 命令。
登錄到 MySQL
要列出 MySQL 數據庫,用戶必須有權訪問所有數據庫,或者您必須設置一個全局SHOW DATABASES
權限,授予所有用戶訪問權限。
在通過命令提示符登錄之前確保您的 MySQL 服務器正在運行:
mysql -u -p
注意:更換使用您的用戶名。 MySQL 的默認用戶名是
root
,密碼為空(默認沒有密碼)。
在 MySQL 服務器中顯示數據庫
現在您已登錄,您可以通過執行SHOW DATABASES
命令列出服務器中存在的 MySQL 數據庫:
SHOW DATABASES;
作為回報,您將獲得存儲中存在的所有數據庫:
在返回的六個數據庫中, information_schema
和performance_schema
是安裝 MySQL 時自動生成的默認數據庫。
information_schema
數據庫是一個不可修改的數據庫,它存儲與存儲在 MySQL 服務器中的數據庫和其他對象(視圖、用戶權限、表、約束等)相關的所有信息。
過濾數據庫輸出的結果
以前,您使用SHOW DATABASES
返回 MySQL 服務器上的所有數據庫,但您經常需要過濾數據庫輸出,主要是當服務器上有很多數據庫時。
LIKE
子句根據指定的模式過濾SHOW DATABASE
的結果。 這是一般語法:
SHOW DATABASES LIKE '';
它必須是表示您要匹配的模式的字符串。 字符串必須以百分比符號%
結尾,表示一個或多個字符。
例如,如果您只想顯示名稱以字母w
開頭的數據庫,您可以運行以下命令:
SHOW DATABASES LIKE 'w%';
這是過濾後的結果:
使用信息模式查詢表元數據
之前,您看到了information_schema
數據庫如何存儲與 MySQL 服務器環境中的數據庫、表和其他對象相關的所有信息。
information_schema
數據庫使用 schemata 表來存儲有關所有數據庫的信息。 對於數據庫過濾,您可以執行複雜的搜索來查詢特定數據庫的架構表。
例如,如果您想要名稱以“samp”或“word”開頭的數據庫,您可以組合其他幾個子句來進行複雜查詢:
SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';
結果如下:
此外,您還有information_schema
數據庫中的tables
表,其中包含有關所有表的信息。 同樣,您可以執行查詢以僅檢索與指定模式匹配的表。
例如,以下查詢僅返回 WordPress 表的架構信息——僅返回名稱以“wp_”開頭的表:
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
結果如下:
在information_schema
中找到的其他表包括columns
、 constraints
、 table_constraints
、 check_constraints
和referential_constraints
。
常見問題和最佳實踐
執行 SQL 時最常見的錯誤原因之一是未能在語句末尾使用分號。
另一種是使用無效的 SQL 語法或拼寫錯誤的表/列名。 為避免這種情況,請交叉檢查表或列名稱以確保拼寫正確。 一定要交叉檢查你的語法。
以下是一些需要牢記的其他最佳實踐。
對 SQL 關鍵字使用大寫
編寫 SQL 代碼時,始終使用大寫的 SQL 關鍵字和小寫的表名和列名。 這使您的代碼更具可讀性並且不易出錯。
所以,而不是這個:
select * from information_schema.tables where table_name like 'wp_%';
做這個:
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
避免使用SELECT *
避免在 SQL 查詢中使用SELECT *
。 您的請求不清楚,因為您不能總是知道它會返回什麼。 而是指定要從表中選擇的列。
所以代替這個:
SELECT * EXCEPT(phone) FROM users.profile
做這個:
SELECT name, dob, address, country, address, FROM user.profile
縮進你的代碼
最後,使查找錯誤更容易的另一個技巧是縮進您的代碼。 它使它更具可讀性!
數據庫管理員
或者,您可以選擇通過使用數據庫管理器來管理您的數據庫,而無需編寫 SQL。 這使用戶無需編寫 SQL 查詢即可訪問數據庫管理功能。 該軟件連接到 MySQL 服務器並提供用戶界面來公開數據庫功能。 連接後,UI 將顯示服務器上的所有數據庫。 管理工具的外觀和感覺各不相同,但過程相似。

有多種工具可供選擇,包括 phpMyAdmin 和 Adminer,這兩種工具都可以通過 DevKinsta 訪問。 DevKinsta 的默認管理工具是 Adminer,因為它輕量級、簡單、快速,但可以輕鬆訪問 phpMyAdmin。
概括
作為服務器管理員,您需要能夠高效準確地檢索有關 MySQL 服務器上數據庫的詳細信息。 查看服務器上的數據庫、查看特定表和其中的信息以及訪問有關用戶角色和權限的信息的能力都是至關重要的任務。 幸運的是,從命令行使用 SQL 可以讓這一切變得輕而易舉。
當您的數據庫管理需要超越查詢表時,Kinsta 可以提供幫助。 立即詳細了解我們的可擴展數據庫託管選項!