- MySQL 基礎
- MySQL - 首頁
- MySQL - 簡介
- MySQL - 特性
- MySQL - 版本
- MySQL - 變數
- MySQL - 安裝
- MySQL - 管理
- MySQL - PHP 語法
- MySQL - Node.js 語法
- MySQL - Java 語法
- MySQL - Python 語法
- MySQL - 連線
- MySQL - Workbench
- MySQL 資料庫
- MySQL - 建立資料庫
- MySQL - 刪除資料庫
- MySQL - 選擇資料庫
- MySQL - 顯示資料庫
- MySQL - 複製資料庫
- MySQL - 資料庫匯出
- MySQL - 資料庫匯入
- MySQL - 資料庫資訊
- MySQL 使用者
- MySQL - 建立使用者
- MySQL - 刪除使用者
- MySQL - 顯示使用者
- MySQL - 修改密碼
- MySQL - 授予許可權
- MySQL - 顯示許可權
- MySQL - 收回許可權
- MySQL - 鎖定使用者賬戶
- MySQL - 解鎖使用者賬戶
- MySQL 表
- MySQL - 建立表
- MySQL - 顯示錶
- MySQL - 修改表
- MySQL - 重命名錶
- MySQL - 克隆表
- MySQL - 清空表
- MySQL - 臨時表
- MySQL - 修復表
- MySQL - 描述表
- MySQL - 新增/刪除列
- MySQL - 顯示列
- MySQL - 重新命名列
- MySQL - 表鎖定
- MySQL - 刪除表
- MySQL - 派生表
- MySQL 查詢
- MySQL - 查詢
- MySQL - 約束
- MySQL - 插入查詢
- MySQL - 選擇查詢
- MySQL - 更新查詢
- MySQL - 刪除查詢
- MySQL - 替換查詢
- MySQL - 插入忽略
- MySQL - 插入重複鍵更新
- MySQL - 將選擇插入
- MySQL 運算子和子句
- MySQL - Where 子句
- MySQL - Limit 子句
- MySQL - Distinct 子句
- MySQL - Order By 子句
- MySQL - Group By 子句
- MySQL - Having 子句
- MySQL - AND 運算子
- MySQL - OR 運算子
- MySQL - Like 運算子
- MySQL - IN 運算子
- MySQL - ANY 運算子
- MySQL - EXISTS 運算子
- MySQL - NOT 運算子
- MySQL - 不等於運算子
- MySQL - IS NULL 運算子
- MySQL - IS NOT NULL 運算子
- MySQL - Between 運算子
- MySQL - UNION 運算子
- MySQL - UNION 與 UNION ALL
- MySQL - MINUS 運算子
- MySQL - INTERSECT 運算子
- MySQL - INTERVAL 運算子
- MySQL 連線
- MySQL - 使用連線
- MySQL - 內連線
- MySQL - 左連線
- MySQL - 右連線
- MySQL - 交叉連線
- MySQL - 全連線
- MySQL - 自連線
- MySQL - 刪除連線
- MySQL - 更新連線
- MySQL - Union 與 Join
- MySQL 觸發器
- MySQL - 觸發器
- MySQL - 建立觸發器
- MySQL - 顯示觸發器
- MySQL - 刪除觸發器
- MySQL - 插入前觸發器
- MySQL - 插入後觸發器
- MySQL - 更新前觸發器
- MySQL - 更新後觸發器
- MySQL - 刪除前觸發器
- MySQL - 刪除後觸發器
- MySQL 資料型別
- MySQL - 資料型別
- MySQL - VARCHAR
- MySQL - BOOLEAN
- MySQL - ENUM
- MySQL - DECIMAL
- MySQL - INT
- MySQL - FLOAT
- MySQL - BIT
- MySQL - TINYINT
- MySQL - BLOB
- MySQL - SET
- MySQL 正則表示式
- MySQL - 正則表示式
- MySQL - RLIKE 運算子
- MySQL - NOT LIKE 運算子
- MySQL - NOT REGEXP 運算子
- MySQL - regexp_instr() 函式
- MySQL - regexp_like() 函式
- MySQL - regexp_replace() 函式
- MySQL - regexp_substr() 函式
- MySQL 函式和運算子
- MySQL - 日期和時間函式
- MySQL - 算術運算子
- MySQL - 數值函式
- MySQL - 字串函式
- MySQL - 聚合函式
- MySQL 雜項概念
- MySQL - NULL 值
- MySQL - 事務
- MySQL - 使用序列
- MySQL - 處理重複項
- MySQL - SQL 注入
- MySQL - 子查詢
- MySQL - 註釋
- MySQL - 檢查約束
- MySQL - 儲存引擎
- MySQL - 將表匯出到 CSV 檔案
- MySQL - 將 CSV 檔案匯入資料庫
- MySQL - UUID
- MySQL - 公共表表達式
- MySQL - ON DELETE CASCADE
- MySQL - Upsert
- MySQL - 水平分割槽
- MySQL - 垂直分割槽
- MySQL - 遊標
- MySQL - 儲存函式
- MySQL - Signal
- MySQL - Resignal
- MySQL - 字元集
- MySQL - 校對
- MySQL - 萬用字元
- MySQL - 別名
- MySQL - ROLLUP
- MySQL - 今日日期
- MySQL - 字面量
- MySQL - 儲存過程
- MySQL - Explain
- MySQL - JSON
- MySQL - 標準差
- MySQL - 查詢重複記錄
- MySQL - 刪除重複記錄
- MySQL - 選擇隨機記錄
- MySQL - 顯示 Processlist
- MySQL - 更改列型別
- MySQL - 重置自動遞增
- MySQL - Coalesce() 函式
- MySQL 有用資源
- MySQL - 有用函式
- MySQL - 語句參考
- MySQL - 快速指南
- MySQL - 有用資源
- MySQL - 討論
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