MySQL - 刪除資料庫



MySQL DROP DATABASE 語句

MySQL 中的 **DROP DATABASE** 語句用於刪除資料庫以及所有資料,例如表、檢視、索引、儲存過程和約束。

刪除現有資料庫時 -

  • 務必確保我們必須執行要刪除的資料庫的備份,因為一旦執行“DROP DATABASE”語句,資料庫中的所有資料和資料庫物件都將被永久刪除,並且無法恢復。
  • 同樣重要的是要確保沒有其他使用者或應用程式當前連線到我們要刪除的資料庫。如果我們在其他使用者連線到資料庫時嘗試刪除資料庫,則可能會導致資料損壞或其他問題。

除了這些之外,我們還需要確保在使用 DROP DATABASE 語句刪除任何資料庫之前擁有必要的許可權。

語法

以下是刪除 MySQL 中資料庫的語法 -

DROP DATABASE DatabaseName;

這裡,“DatabaseName”是要刪除的資料庫的名稱。

示例

首先,讓我們使用以下查詢在資料庫系統中建立一個名為 **TUTORIALS** 的資料庫 -

CREATE DATABASE TUTORIALS;

資料庫建立後,執行以下查詢以驗證它是否已建立 -

SHOW DATABASES;

如下所示,我們可以看到資料庫列表,TUTORIALS 資料庫已成功建立 -

資料庫
information_schema
mysql
performance_schema
tutorials

現在,讓我們使用以下 DROP DATABASE 語句刪除 **現有** 資料庫 <TUTORIALS> -

DROP DATABASE TUTORIALS;

輸出

執行給定查詢後,輸出顯示如下 -

Query OK, 0 rows affected (0.01 sec)

驗證

刪除 TUTORIALS 資料庫後,我們可以使用以下查詢驗證它是否已刪除 -

SHOW DATABASES;

如輸出所示,資料庫已成功刪除。

資料庫
information_schema
mysql
performance_schema

使用 mysqladmin 刪除資料庫

您需要特殊的許可權才能建立或刪除 MySQL 資料庫。因此,假設您可以訪問 root 使用者,您可以使用 mysql **mysqladmin** 二進位制檔案建立任何資料庫。

**注意:**刪除任何資料庫時請小心,因為您將丟失資料庫中所有可用資料。

示例

以下是如何刪除上一章中建立的資料庫 (TUTORIALS) 的示例 -

[root@host]# mysqladmin -u root -p drop TUTORIALS
Enter password:******

這將向您顯示警告,並要求您確認 (Y/N) 您是否確實要刪除此資料庫。如果您輸入“y”,則資料庫將被刪除,否則不會 -

Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'TUTORIALS' database [y/N] y

輸出

TUTORIALS 資料庫已成功刪除。

Database "TUTORIALS" dropped

使用客戶端程式刪除資料庫

除了使用 MySQL 查詢執行 DROP DATABASE 操作外,我們還可以使用 Node.js、PHP、Java 和 Python 等客戶端程式來實現相同的結果。

語法

以下是此操作在各種程式語言中的語法 -

要透過 PHP 程式刪除資料庫,我們需要使用 **mysqli** 函式 **query()** 執行“DROP DATABASE”語句,如下所示 -

$sql = "DROP DATABASE DatabaseName;";
$mysqli->query($sql);

要透過 Node.js 程式刪除資料庫,我們需要使用 **mysql2** 庫的 **query()** 函式執行“DROP DATABASE”語句,如下所示 -

sql = "DROP DATABASE DatabaseName;";
con.query(sql, function (err, result) {
   if (err) throw err;
      console.log(result);
});

要透過 Java 程式刪除資料庫,我們需要使用 **JDBC** 函式 **executeUpdate()** 執行“DROP DATABASE”語句,如下所示 -

String sql = "DROP DATABASE DatabaseName;";
st.execute(sql);

要透過 Python 程式刪除資料庫,我們需要使用 MySQL **Connector/Python** 的 **execute()** 函式執行“DROP DATABASE”語句,如下所示 -

sql = "DROP DATABASE DatabaseName;"
cursorObj.execute(sql)

示例

以下是程式 -

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'root@123';
$mysqli = new mysqli($dbhost, $dbuser, $dbpass);

if($mysqli->connect_errno ) {
   printf("Connect failed: %s<br />", $mysqli->connect_error);
   exit();
}
printf('Connected successfully.<br />');

if ($mysqli->query("Drop DATABASE TUTORIALS")) {
   printf("Database dropped successfully.<br />");
}
if ($mysqli->errno) {
   printf("Could not drop database: %s<br />", $mysqli->error);
}
$mysqli->close();     

輸出

獲得的輸出如下 -

Connected successfully.
Database dropped successfully.
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 = "DROP DATABASE TUTORIALS"
    con.query(sql, function(err){
      if (err) throw err
      console.log("Database Dropped successfully...!")
    });
});

輸出

生成的輸出如下 -

Connected!
--------------------------
Database Dropped successfully...!
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DropDatabase {
	public static void main(String[] args) {
		String url = "jdbc:mysql://:3306/tutorials";
		String user = "root";
		String password = "password";
		ResultSet st;
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, user, password);
            Statement st1 = con.createStatement();
            //System.out.println("Connected successfully...!");
            String sql = "DROP DATABASE TUTORIALS";
            st1.execute(sql);
            System.out.println("Database dropped successfully...!");
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
}

輸出

獲得的輸出如下所示 -

Database dropped successfully...!
import mysql.connector
# creating the connection object
connection = mysql.connector.connect(
host ="localhost",
user ="root",
password ="password"
)
# creating cursor object
cursorObj = connection.cursor()
# dropping the database 
cursorObj.execute("DROP DATABASE MySqlPython")
print("Database dropped Successfully")
# disconnecting from server
connection.close()

輸出

以下是上述程式碼的輸出 -

Database dropped Successfully
廣告