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

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

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