MySQL - SHOW Databases
- MySQL SHOW DATABASES 语句
- MySQL SHOW SCHEMAS 语句
- 使用客户端程序显示数据库
MySQL SHOW DATABASES 语句
要显示 MySQL 服务器中存在的全部数据库列表,我们需要使用 SHOW DATABASES 语句。它会以表格形式返回结果,只有一列。结果集中的数据库将按字母顺序排序。
语法
以下是在 MySQL 服务器中列出所有数据库的语法 −
SHOW DATABASES [LIKE 'pattern' | WHERE expr]
示例
首先,让我们使用以下查询创建一个名为 TUTORIALS 的数据库 −
CREATE DATABASE TUTORIALS;
在创建任何数据库之前,请确保您具有管理员权限。一旦数据库创建完成,您可以使用以下查询在数据库列表中查看它 −
SHOW DATABASES;
输出
上述查询显示了当前 MySQL 服务器中存在的全部数据库。
| Database |
|---|
| information_schema |
| mysql |
| performance_schema |
| tutorials |
MySQL SHOW SCHEMAS 语句
我们也可以使用 SHOW SCHEMAS 语句来列出 MySQL 中的数据库。
语法
以下是 MySQL SHOW SCHEMAS 语句的语法 −
SHOW SCHEMAS [LIKE 'pattern' | WHERE expr]
示例
让我们再次使用以下查询验证数据库列表 −
SHOW SCHEMAS;
输出
上述查询的输出将如下所示 −
| Database |
|---|
| information_schema |
| mysql |
| performance_schema |
| tutorials |
使用客户端程序显示数据库
除了使用 MySQL 查询获取当前 MySQL 服务器中所有数据库的列表外,我们还可以使用客户端程序来执行 SHOW DATABASES 操作。
语法
以下是各种编程语言中此操作的语法 −
通过 PHP 程序显示当前 MySQL 中所有现有数据库的列表,我们需要使用 mysqli 函数 query() 执行 SHOW DATABASES 语句,如下所示 −
$sql = "SHOW Database_name"; $mysqli->query($sql);
通过 Node.js 程序显示当前 MySQL 中所有现有数据库的列表,我们需要使用 mysql2 库的 query() 函数执行 SHOW DATABASES 语句,如下所示 −
sql= "SHOW {DATABASES | SCHEMAS} LIKE 'pattern' | WHERE expr]";
con.query(sql);
通过 Java 程序显示当前 MySQL 中所有现有数据库的列表,我们需要使用 JDBC 函数 executeUpdate() 执行 SHOW DATABASES 语句,如下所示 −
String sql = "SHOW Database_name"; st.executeQuery(sql);
通过 Python 程序显示当前 MySQL 中所有现有数据库的列表,我们需要使用 MySQL Connector/Python 的 execute() 函数执行 SHOW DATABASES 语句,如下所示 −
sql = "SHOW Database_name"; cursorObj.execute(sql)
示例
以下是相应的程序 −
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$mysqli = new mysqli($dbhost, $dbuser, $dbpass);
if($mysqli->connect_errno ) {
printf("Connect failed: %s
", $mysqli->connect_error);
exit();
}
//printf('Connected successfully.
');
if ($result = $mysqli->query("SHOW DATABASES")) {
printf("Show Database executed successfully..!");
echo "Database list are: ";
while($row = mysqli_fetch_array($result)){
print_r($row);
}
}
if ($mysqli->errno) {
printf("Could not find database: %s
", $mysqli->error);
}
$mysqli->close();
输出
获得的结果如下所示 −
Show Database executed successfully..!Database list are:
Array
(
[0] => bank
[Database] => bank
)
Array
(
[0] => company
[Database] => company
)
Array
(
[0] => information_schema
[Database] => information_schema
)
Array
(
[0] => mydb
[Database] => mydb
)
Array
(
[0] => mysql
[Database] => mysql
)
Array
(
[0] => performance_schema
[Database] => performance_schema
)
Array
(
[0] => sys
[Database] => sys
)
Array
(
[0] => testdb
[Database] => testdb
)
Array
(
[0] => tutorials
[Database] => tutorials
)
Array
(
[0] => usersdb
[Database] => usersdb
)
var mysql = require('mysql2');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "Nr5a0204@123"
});
//Connecting to MySQL
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
console.log("--------------------------");
//Creating a Database
sql = "create database testDB1"
con.query(sql);
sql = "create database testDB2"
con.query(sql);
sql = "create database testDB3"
con.query(sql);
sql = "create database testDB4"
con.query(sql);
//Displaying Databases
sql = "show databases;"
con.query(sql, function(err, result){
if (err) throw err
console.log(result)
});
});
输出
产生的结果如下所示 −
Connected!
--------------------------
[
{ Database: 'customers' },
{ Database: 'information_schema' },
{ Database: 'mysql' },
{ Database: 'performance_schema' },
{ Database: 'testdb1' },
{ Database: 'testdb2' },
{ Database: 'testdb3' },
{ Database: 'testdb4' }
]
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ShowDatabase {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/TUTORIALS";
String user = "root";
String password = "password";
ResultSet rs;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, password);
Statement st1 = con.createStatement();
//System.out.println("Database connected successfully...!");
String sql = "SHOW DATABASES";
rs = st1.executeQuery(sql);
System.out.println("Show query executed successfully...!");
System.out.println("Databases are: ");
while(rs.next()) {
String db = rs.getNString(1);
System.out.println(db);
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
输出
获得的结果如下所示 −
Show query executed successfully...! Databases are: bank company information_schema mydb mysql performance_schema sys testdb tutorials usersdb
import mysql.connector
# Creating the connection object
connection = mysql.connector.connect(
host ="localhost",
user ="root",
password ="password"
)
# Creating cursor object
cursorObj = connection.cursor()
# Show databases
cursorObj.execute("SHOW DATABASES")
# Fetch all the databases
databases = cursorObj.fetchall()
# Printing the list of databases
print("The list of databases are: ")
for database in databases:
print(database[0])
# Disconnecting from server
connection.close()
输出
上述代码的输出如下所示 −
The list of databases are: information_schema mysql mysqlpythondb performance_schema sqlserver stdi sys textx tut tutorials