在本教學中,您將學習如何使用MySQL SHOW DATABASES
命令列出MySQL資料庫伺服器中的所有資料庫。
要列出MySQL伺服器主機上的所有資料庫,請使用SHOW DATABASES
命令,如下所示:
SHOW DATABASES;
例如,要列出本地MySQL資料庫伺服器中的所有資料庫,請首先登入到資料庫伺服器,如下所示:
C:\Users\Administrator>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.9 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
然後使用SHOW DATABASES
命令:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| crmdb |
| mysql |
| newdb |
| performance_schema |
| testdb |
| yiibaidb |
| yiibaidb_backup |
+--------------------+
8 rows in set
SHOW SCHEMAS
命令是SHOW DATABASES
的同義詞,因此以下命令將返回與上述相同的結果:
mysql> SHOW SCHEMAS;
+--------------------+
| Database |
+--------------------+
| information_schema |
| crmdb |
| mysql |
| newdb |
| performance_schema |
| testdb |
| yiibaidb |
| yiibaidb_backup |
+--------------------+
8 rows in set
如果要查詢與特定模式匹配的資料庫,請使用LIKE子句,如下所示:
SHOW DATABASES LIKE pattern;
例如,以下語句返回以字串「schema
」結尾的資料庫;
mysql> SHOW DATABASES LIKE '%schema';
+--------------------+
| Database (%schema) |
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
2 rows in set
重要的是要注意,如果MySQL資料庫伺服器以-skip-show-database
啟動,則除非具有SHOW DATABASES
許可權,否則不能使用SHOW DATABASES
語句。
如果LIKE
子句中的條件不足,可以直接從information_schema
資料庫中的schemata
表查詢資料庫資訊。
例如,以下查詢返回與SHOW DATABASES
命令相同的結果。
SELECT schema_name
FROM information_schema.schemata;
以下SELECT語句返回名稱以’schema
‘或’db
‘結尾的資料庫。
SELECT schema_name
FROM information_schema.schemata
WHERE schema_name LIKE '%schema' OR
schema_name LIKE '%db';
它返回以下結果集:
mysql> SELECT schema_name
FROM information_schema.schemata
WHERE schema_name LIKE '%schema' OR
schema_name LIKE '%db';
+--------------------+
| schema_name |
+--------------------+
| information_schema |
| crmdb |
| newdb |
| performance_schema |
| testdb |
| yiibaidb |
+--------------------+
6 rows in set
在本教學中,您已經學習了如何使用SHOW DATABASES
命令顯示MySQL伺服器中的所有資料庫,或者從information_schema
資料庫中的schemata
表進行查詢。