MySQL - 显示数据库



MySQL SHOW DATABASES 语句

要显示 MySQL 服务器中存在的所有数据库的列表,我们需要使用 **SHOW DATABASES** 语句。它以表格形式返回结果,其中包含一列。结果集中的数据库将按字母顺序排序。

语法

以下是列出 MySQL 服务器中所有数据库的语法:

SHOW DATABASES [LIKE 'pattern' | WHERE expr]

示例

首先,让我们使用以下查询创建一个名为 **TUTORIALS** 的数据库:

CREATE DATABASE TUTORIALS;

在创建任何数据库之前,请确保您具有管理员权限。创建数据库后,您可以使用以下查询在数据库列表中检查它:

SHOW DATABASES;

输出

以上查询显示了当前 MySQL 服务器中存在的所有数据库。

数据库
information_schema
mysql
performance_schema
tutorials

MySQL SHOW SCHEMAS 语句

我们还可以使用 **SHOW SCHEMAS** 语句列出 MySQL 中的数据库。

语法

以下是 MySQL SHOW SCHEMAS 语句的语法:

SHOW SCHEMAS [LIKE 'pattern' | WHERE expr]

示例

让我们尝试再次使用以下查询验证数据库列表:

SHOW SCHEMAS;

输出

以上查询的输出将如下所示:

数据库
information_schema
mysql
performance_schema
tutorials

Learn MySQL in-depth with real-world projects through our MySQL certification course. Enroll and become a certified expert to boost your career.

使用客户端程序显示数据库

除了使用 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
广告