二十五岁时我们都一样愚蠢、多愁善感,喜欢故弄玄虚,可如果不那样的话,五十岁时也就不会如此明智。
标题:MySQL 删除数据库
MySQL 删除数据库的方式有两种
- 使用
mysqladmin drop
命令删除数据库- 使用 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 脚本删除数据库时,不会出现确认是否删除信息,会直接删除指定数据库,所以在删除数据库时要特别小心,谨慎,谨慎再谨慎