Creation or deletion of databases in MariaDB requires privileges, typically, only given to root users or admins. Under these accounts, you have two options for deleting a database: the mysqladmin binary and a PHP script.
Note that deleted databases are irrecoverable, so exercise care in performing this operation. Furthermore, PHP scripts used for deletion do not prompt you with a confirmation before the deletion.
The following example demonstrates how to use the mysqladmin binary to delete an existing database −
[root@host]# mysqladmin -u root -p drop PRODUCTS Enter password:****** mysql> DROP PRODUCTS ERROR 1008 (HY000): Can't drop database 'PRODUCTS'; database doesn't exist
PHP employs the mysql_query function in deleting MariaDB databases. The function uses two parameters, one optional, and returns either a value of “true” when successful, or “false” when not.
Review the following drop database script syntax −
bool mysql_query( sql, connection );
The description of the parameters is given below −
Sr.No | Parameter & Description |
---|---|
1 |
sql This required parameter consists of the SQL query needed to perform the operation. |
2 |
connection When not specified, this optional parameter uses the most recent connection used. |
Try the following example code for deleting a database −
<html> <head> <title>Delete a MariaDB Database</title> </head> <body> <?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully<br />'; $sql = 'DROP DATABASE PRODUCTS'; $retval = mysql_query( $sql, $conn ); if(! $retval ){ die('Could not delete database: ' . mysql_error()); } echo "Database PRODUCTS deleted successfully\n"; mysql_close($conn); ?> </body> </html>
On successful deletion, you will see the following output −
mysql> Database PRODUCTS deleted successfully