需求描述:

  今天在进行mysqldump实验,使用--add-drop-databases参数,于是在生成的SQL文件中,就出现了.

  /*!40000 DROP DATABASE IF EXISTS `top_server`*/;这种类似于注释的内容,查询了一下

  在这里记录下.

操作过程:

1.使用--add-drop-database参数进行数据库的备份

[mysql@redhat6 MysqlDb_Backup]$ mysqldump -uroot -p --single-transaction --master-data --flush-logs --add-drop-database --databases top_server test01 > Backup_Tables_2018--.sql
Enter password:

备注:使用--add-drop-database选项之后,就会在生成的SQL文件中增加drop database选项,即还原时先对DB进行删除.

2.查看生成的SQL备份文件

-- MySQL dump 10.13  Distrib 5.5., for linux-glibc2. (x86_64)
--
-- Host: localhost Database: top_server
-- ------------------------------------------------------
-- Server version 5.5.-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; --
-- Position to start replication or point-in-time recovery from
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000018', MASTER_LOG_POS=; --
-- Current Database: `top_server`
-- /*!40000 DROP DATABASE IF EXISTS `top_server`*/; #在SQL文件中增加了该语句,使用该文件还原时会先删除数据库. CREATE DATABASE /*!32312 IF NOT EXISTS*/ `top_server` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `top_server`; --
-- Table structure for table `dept`
--

3.将/*!40000 DROP DATABASE IF EXISTS `top_server`*/;语句直接放到mysql控制台中执行

mysql> /*!40000 DROP DATABASE IF EXISTS `top_server`*/;
Query OK, rows affected (0.28 sec) mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test01 |
| test02 |
| test03 |
| ziler |
+--------------------+
rows in set (0.00 sec)

备注:发现top_server数据库已经被删除了,说明这个SQL语句不是注释是可以执行的语句.

4.经过查询,发现该类似于注释的语句的特点

注释格式:

/*! MySQL-specific code */

备注:在注释部分中的SQL语句就会被执行,注释的开头多了个叹号.

另外,也可以在!号的后面加版本号

/*!version_number MySQL-specific code */

备注:此时版本号的作用是,只有当Mysql的版本大于等于这个版本号的时候,注释中的SQL语句才会被执行

小结:

  /*! MySQL-specific code */ 这种注释是mysql注释中的特殊一种,通过使用叹号在注释中,注释中的代码就会被执行.

  在本例子中,只有当Mysql Server的版本大于Mysql 4的时候,这个语句才能被执行.

文档创建时间:2018年4月9日17:50:38

mysql中/*!40000 DROP DATABASE IF EXISTS `top_server`*/;这中注释有什么作用?的更多相关文章

  1. MySQL中实现DROP USER if EXISTS `test`,即创建新用户时检测用户是否存在

    MySQL中实现DROP USER if EXISTS `test`,即创建新用户时检测用户是否存在    版权声明:本文为博主原创文章,欢迎大家转载,注明出处即可.有问题可留言,会尽快回复,欢迎探讨 ...

  2. Mysql命令drop database:删除数据库

    drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb; ...

  3. (笔记)Mysql命令drop database:删除数据库

    drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb; ...

  4. MySQL删除数据库或表(DROP DATABASE/table语句)

    DROP DATABASE [ IF EXISTS ] <数据库名> DROP table[ IF EXISTS ] <数据库表名> 语法说明如下: <数据库名>: ...

  5. MySQL:Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT.解决办法

    今天在navicat上操作mysql数据库表,突然没有响应了.随后重启,mysql服务也终止了.随后启动服务,检查表,发现一张表卡没了,就重新添加一张表.报了一个错: Error : Tablespa ...

  6. [MySQL] 中 Schema和Database的区别

    在MySQL中,schema和database是同义词. CREATE SCHEMA和CREATE DATABASE是等效的. 但是其他的数据库产品(几乎所有数据库)有所不同.在oracle数据库产品 ...

  7. unknow table alarmtemp error when drop database (mysql)

    Q: unknow table alarmtemp error when  drop database (mysql) D: alarmtemp is table in rtmd database. ...

  8. Hive中的数据库(Database)和表(Table)

    在前面的文章中,介绍了可以把Hive当成一个"数据库",它也具备传统数据库的数据单元,数据库(Database/Schema)和表(Table). 本文介绍一下Hive中的数据库( ...

  9. GTID复制报错处理:Last_Error: Error 'Can't drop database 'test'; database doesn't exist' on query

    创建GTID主从连接: mysql, master_user; 报错显示: Slave_IO_Running: Yes Slave_SQL_Running: No Last_Error: Error ...

随机推荐

  1. jvisualvm工具使用

    VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe). https:// ...

  2. json格式详解

    一.Json的简单介绍  从结构上看,所有的数据最终都可以分成三种类型:  第一种类型是scalar(标准变量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的 ...

  3. ios应用下架方法(说明)

    ios应用下架方法(说明)   正在审核中的: 在binary details里边 reject按钮 已经上架的: 在itunesconnect里的app详情里面找到rights and pricin ...

  4. Dubbo阅读笔记——高级功能

    事件处理线程说明 如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度. 但如果事件处理逻辑较慢,或者需要发起新的IO请求 ...

  5. Http请求中Content-Type讲解

    http://blog.csdn.net/weichuang_1/article/details/50451496 ****************************************** ...

  6. jQuery+Ajax获取百度百科历史上的今天

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. sqlserver判断是否为数字的函数

    ISNUMERIC 确定表达式是否为一个有效的数字类型. 语法  ISNUMERIC ( expression ) 参数 expression 要计算的表达式. 返回类型 int 测试: select ...

  8. jfinal渲染器FileRender完整路径文件不正确的问题

    jfinal作者的建议如下: 完整分支的文件下载,可以使用那个带 File 参数的构造方法:FileRender(new File(完整路径)) 从而可以使用 renderFile(new File( ...

  9. 抽取、转换和装载介绍(七)管理ETL环境(待续)

    数据仓库的目标之一是能够为增强业务功能提供适时的.一致的和可靠的数据. 为了达到上述目标,ETL必须按照下述三条标准不断地加以完善: 可靠性 可用性 易管理性 子系统22--作业调度器 子系统23-- ...

  10. IE6、IE7、IE8、Firefox兼容性

    整理关于IE6.IE7.IE8.Firefox兼容性CSS HACK问题 1.区别IE和非IE浏览器CSS HACK代码 #divcss5{background:blue; /*非IE 背景藍色*/b ...