MySQL - 删除数据库
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 语句删除现有数据库 <TUTORIALS> -
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 程序删除数据库,我们需要使用 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" }); //连接到 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