MySQL 删除数据库

MySQL 删除数据库的方式有两种

  1. 使用 mysqladmin drop 命令删除数据库
  2. 使用 DROP DATABASE 语句删除数据库

在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失,而且不可撤销

如果使用普通用户连接到 MySQL 服务器,可能需要特定的权限来创建或者删除 MySQL 数据库

我们使用 root 用户登录,因为 root 用户拥有最高权限

使用 mysqladmin drop 命令删除数据库

可以使用 mysqladmin drop 命令来删除数据库

mysqladmin 命令语法格式如下

mysqladmin [OPTIONS] command [command-option] command ...

通过执行 mysqladmin --help,可以得到 mysqladmin 的版本所支持的一个选项列表

命令(command) 描述
create databasename 创建一个新数据库
drop databasename 删除一个数据库及其所有表
extended-status 给出服务器的一个扩展状态消息
flush-hosts 洗掉所有缓存的主机
flush-logs 洗掉所有日志
flush-tables 洗掉所有表
flush-privileges 再次装载授权表(同 reload )
kill id,id,... 杀死 mysql 线程
password 新口令,将老口令改为新口令
ping 检查 mysqld 是否活着
processlist 显示服务其中活跃线程列表
reload 重载授权表
refresh 洗掉所有表并关闭和打开日志文件
shutdown 关掉服务器
status 给出服务器的简短状态消息
variables 打印出可用变量
version 得到服务器的版本信息

下面的 mysqladmin drop 可以删除我们前一章节中创建的 twle 数据库

mysqladmin -u root -p drop twle

完整演示如下

[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| twle               |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> exit
Bye
[root@localhost ~]# mysqladmin -u root -p drop twle
Enter password:
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 'twle' database [y/N] y
Database "twle" dropped
[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

在上面的演示过程中,执行删除命令时,会出现一个提示框,来确认是否真的删除数据库

使用 DROP DATABASE 语句创建数据库

使用 DROP DATABASE 语句删除数据库前先要连接到 MySQL 数据库服务器

DROP DATABASE 命令语法格式如下

DROP DATABASE **databasename**;

下面的 SQL 语句删除了我们上一章节中添加的 twle 数据库

DROP DATABASE twle;

演示过程如下

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| twle               |
+--------------------+
5 rows in set (0.01 sec)

MariaDB [(none)]> DROP DATABASE twle;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

使用 PHP 脚本删除数据库

PHP 使用 PDO::exec() 函数来创建或者删除 MySQL 数据库

PDO::exec() 函数只有一个参数,就是想要执行的 SQL 语句

PDO::exec 语法格式

int PDO::exec ( string $statement )

返回受修改或删除 SQL 语句影响的行数。如果没有受影响的行,则返回 0

参数

参数 说明
statement 要被预处理和执行的 SQL 语句,查询中的数据应该被妥善地转义

范例

下面的 PHP 代码演示了如何用 PDO_MySQL 删除数据库 twle

<?php 

/*
 * filename: main.php
 * author: 简单教程(www.twle.cn)
 * 
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

try {

    $dbh = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', '');    

    $rs = $dbh->exec('DROP DATABASE twle');

    if( !$rs )
    {
        echo '删除数据库 twle 失败:: ' ,$dbh->errorInfo()[2],"\n";
        exit();
    }

    echo "数据库 twle 删除成功\n";  
}
catch (PDOException $e) 
{    
    echo "错误!: " , $e->getMessage() , "\n";  
}

运行以上 PHP 代码,删除数据库成功后输出如下结果:

$ php main.php
数据库 twle 删除成功

注意

使用 PHP 脚本删除数据库时,不会出现确认是否删除信息,会直接删除指定数据库,所以在删除数据库时要特别小心,谨慎,谨慎再谨慎

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.