MySQL怎么显示数据库列表?

文章导读
上一个 测验 下一个 MySQL SHOW DATABASES 语句 要显示 MySQL 服务器中存在的全部数据库列表,我们需要使用 SHOW DATABASES 语句。它会以表格形式返回结果,只有一列。结果集中的数据库将按字母顺序排序。
📋 目录
  1. MySQL SHOW DATABASES 语句
  2. MySQL SHOW SCHEMAS 语句
  3. 使用客户端程序显示数据库
A A

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 NodeJS Java Python

通过 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/Pythonexecute() 函数执行 SHOW DATABASES 语句,如下所示 −

sql = "SHOW Database_name";
cursorObj.execute(sql)

示例

以下是相应的程序 −

PHP NodeJS Java Python
$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