❮ 上一节
下一节 ❯
MySQL - 删除数据库
MySQL DROP DATABASE 删除数据库语句
使用 mysqladmin 删除数据库
使用客户端程序删除数据库
MySQL DROP 数据库语句
MySQL 中的 DROP DATABASE 语句用于删除数据库及其所有数据,例如表、视图、索引、存储过程和约束。
删除现有数据库时 -
务必确保对要删除的数据库进行备份,因为一旦执行了"DROP DATABASE"语句执行后,数据库中的所有数据和数据库对象都将被永久删除,且无法恢复。
同样重要的是,确保当前没有其他用户或应用程序连接到我们要删除的数据库。如果我们尝试在其他用户连接到数据库时删除数据库,则可能会导致数据损坏或其他问题。
除此之外,在使用 DROP DATABASE 语句删除任何数据库之前,我们还需要确保拥有必要的权限。
语法
以下是在 MySQL 中删除数据库的语法 -
DROP DATABASE DatabaseName;
这里的"DatabaseName"是我们要删除的数据库的名称。
示例
首先,我们使用以下查询在数据库系统中创建一个名为TUTORIALS的数据库 -
CREATE DATABASE TUTORIALS;
数据库创建完成后,执行以下查询来验证它是否已创建 -
SHOW DATABASES;
从下面的数据库列表可以看出,TUTORIALS 数据库已成功创建 -
Database
information_schema
mysql
performance_schema
tutorials
现在,我们使用以下 DROP DATABASE 语句删除现有数据库
DROP DATABASE TUTORIALS;
输出
执行给定查询后,输出显示如下 -
Query OK, 0 rows affected (0.01 sec)
验证
删除 TUTORIALS 数据库后,我们可以使用以下查询验证它是否已被删除 -
SHOW DATABASES;
从输出结果可以看出,数据库已成功删除。
Database
information_schema
mysql
performance_schema
使用 mysqladmin 删除数据库
您需要特殊权限才能创建或删除 MySQL 数据库。因此,假设您拥有 root 用户权限,则可以使用 mysql mysqladmin 二进制文件创建任何数据库。
注意:删除任何数据库时请务必小心,因为您将丢失数据库中的所有可用数据。
示例
以下是删除上一章中创建的数据库(教程)的示例 -
[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
NodeJS
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)
示例
以下是程序 -
PHP
NodeJS
Java
Python
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'root@123';
$mysqli = new mysqli($dbhost, $dbuser, $dbpass);
if($mysqli->connect_errno ) {
printf("Connect failed: %s
", $mysqli->connect_error);
exit();
}
printf('Connected successfully.
');
if ($mysqli->query("Drop DATABASE TUTORIALS")) {
printf("Database dropped successfully.
");
}
if ($mysqli->errno) {
printf("Could not drop database: %s
", $mysqli->error);
}
$mysqli->close();
输出
获得的输出如下 -
Connected successfully.
Database dropped successfully.
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 = "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://localhost: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
# 创建连接对象
connection = mysql.connector.connect(
host ="localhost",
user ="root",
password ="password"
)
# 创建游标对象
cursorObj = connection.cursor()
# dropping the database
cursorObj.execute("DROP DATABASE MySqlPython")
print("Database dropped Successfully")
# 断开与服务器的连接
connection.close()
输出
以下是上述代码的输出 -
Database dropped Successfully
❮ 上一节
下一节 ❯