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://: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
廣告