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