MySQL - 显示数据库
MySQL 显示数据库语句
要显示 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 服务器中所有数据库的列表外,我们还可以使用客户端程序执行"显示数据库"操作。
语法
以下是此操作在各种编程语言中的语法 -
要通过 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"
});
//连接到 MySQL
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
console.log("--------------------------");
//创建数据库
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
# 创建连接对象
connection = mysql.connector.connect(
host ="localhost",
user ="root",
password ="password"
)
# 创建游标对象
cursorObj = connection.cursor()
# 显示数据库
cursorObj.execute("SHOW DATABASES")
# 获取所有数据库
databases = cursorObj.fetchall()
# 打印数据库列表
print("The list of databases are: ")
for database in databases:
print(database[0])
# 断开与服务器的连接
connection.close()
输出
以下是上述代码的输出 -
The list of databases are: information_schema mysql mysqlpythondb performance_schema sqlserver stdi sys textx tut tutorials

