MySQL - Drop Database



MySQL DROP Database Statement

The DROP DATABASE statement in MySQL is used to delete a database along with all the data such as tables, views, indexes, stored procedures, and constraints.

While deleting an existing database −

  • It is important to make sure that we have to perform the backup of the database that we are going to delete because once the "DROP DATABASE" statement is executed, all the data and database objects in the database will be permanently deleted and cannot be recovered.
  • It is also important to ensure that no other user or application is currently connected to the database that we want to delete. If we try to delete the database while others users are connected to it, then it can cause data corruption or other issues.

In addition to these we need to make sure we have the necessary privileges before deleting any database using the DROP DATABASE statement.

Syntax

Following is the syntax to delete a database in MySQL −

DROP DATABASE DatabaseName;

Here, the "DatabaseName" is the name of the database that we want to delete.

Example

First of all, let us create a database named TUTORIALS into database system using the following query −

CREATE DATABASE TUTORIALS;

Once the database is created, execute the following query to verify whether it is created or not −

SHOW DATABASES;

As we can see the list of databases below, the TUTORIALS database has been created successfully −

Database
information_schema
mysql
performance_schema
tutorials

Now, let us delete the existing database <TUTORIALS> using the following DROP DATABASE statement −

DROP DATABASE TUTORIALS;

Output

On executing the given query, the output is displayed as follows −

Query OK, 0 rows affected (0.01 sec)

Verification

Once we have deleted the TUTORIALS database, we can verify whether it is deleted or not using the following query −

SHOW DATABASES;

As we can in the output, the database has been deleted successfully.

Database
information_schema
mysql
performance_schema

Dropping a Database using mysqladmin

You would need special privileges to create or to delete a MySQL database. So, assuming you have access to the root user, you can create any database using the mysql mysqladmin binary.

Note: Be careful while deleting any database because you will lose your all the data available in your database.

Example

Here is an example to delete a database(TUTORIALS) created in the previous chapter −

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

This will give you a warning and it will ask you to confirm (Y/N) that you really want to delete this database or not. If you enter 'y', the database will be deleted, else no −

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

Output

The TUTORIALS database has been deleted successfully.

Database "TUTORIALS" dropped

Dropping Database Using a Client Program

Besides using MySQL queries to perform the DROP DATABASE operation, we can also use client programs like Node.js, PHP, Java, and Python to achieve the same result.

Syntax

Following are the syntaxes of this operation in various programming languages −

To drop a database through a PHP program, we need to execute the 'DROP DATABASE' statement using the mysqli function query() as follows −

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

To drop a database through a Node.js program, we need to execute the 'DROP DATABASE' statement using the query() function of the mysql2 library as follows −

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

To drop a database through a Java program, we need to execute the 'DROP DATABASE' statement using the JDBC function executeUpdate() as follows −

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

To drop a database through a Python program, we need to execute the 'DROP DATABASE' statement using the execute() function of the MySQL Connector/Python as follows −

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

Example

Following are the programs −

$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();     

Output

The output obtained is as follows −

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...!")
    });
});

Output

The output produced is as follows −

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();
		}
	}
}

Output

The output obtained is as shown below −

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()

Output

Following is the output of the above code −

Database dropped Successfully
Advertisements