MySQL 数据库 - 备份与恢复 (还原)、导入与导出 (mysqldump)

创建时间:
2017-04-05 22:47
最近更新:
2018-08-30 21:07

Tony Note

  • 《深入浅出MySQL数据库开发优化与管理维护_第2版_唐汉明_人民邮电出版社_201401 - Page 436》 Tony Praise
  • 从 MySQL Workbench 的导出功能的 "导出日志" 中可以看到,该功能调用了 "逻辑导出工具 mysqldump"。
  • 用 MySQL Workbench Menu - Server - Data Export 导出,详见本站 《MySQL Workbench 数据库工具》 一文中 "导出 测试记录 (2018-01-25)" 小节。

Resource - Official

  1. 4.5.4 mysqldump — A Database Backup Program

Resource

  1. MySQL Workbench 备份与还原 - mysqldump 的 GUI 封装
  2. MySQL 有什么好的免费的热备份工具
  3. MySQL 备份与恢复精华篇
  4. MySQL 备份与还原
  5. MySQL 的备份、还原及恢复
  6. MySQL 基于 binlog 备份与还原
  7. XtraBackup & InnoBackupEx 全备与增量备份
  8. Xtrabackup 的原理解析
  9. Xtrabackup 详解
  10. 生产环境究竟是使用 mysqldump 还是 Xtrabackup 来备份与恢复数据库
  11. bat 自动备份 MySQL 数据库文件
  12. MySQL Workbench 导出建表语句、导出数据 - 入口 Menu - Server - Data Export 2018-01-25 Tony 测试成功
  13. 怎样备份/还原 MySQL 数据库

Resource - C#

  1. C# 实现 MySQL 数据库的备份和还原
  2. 通过 C# 实现 MySQL 数据库的备份和附加
  3. C# 备份 MySQL 数据库

Resource - MySqlDump

  1. mysqldump 源码分析
  2. mysqldump 执行了 select *,小心性能
  3. mysqldump 的实现原理

MySqlDump 参数

  1. mysqldump 参数
  • --complete-insert=true or --complete-insert: 在 insert 语句中输出 (col_list)
  • --dump-date=true or --dump-date: 输出 -- Dump completed on 2018-04-09 15:12:18
  • --dump-date=false: 输出 -- Dump completed
  • --order-by-primary: 输出 -- ORDER BY: `Id`
  • --port=3306: 通过主机所使用的端口
  • --protocol=tcp: 连接主机所使用的协议
  • --single-transaction: 在备份前设置事务隔离级别为 REPEATABLE READ 并向服务器发送 START TRANSACTION 语句。仅对事务型表如 InnoDB 有用。与 --ock-tables 互斥。对于大文件备份 --single-transaction--quick 结合使用。
  • --tables: 覆盖 --databases-B 选项。该选项后的名称参数均被认为是表名。
  • --routines or -R: 备份 存储过程 和 自定义函数
  • --triggers: 备份 触发器
  • --events: 备份 事件
  • --no-create-info or -t: 只输出数据、不输出架构
  • --no-data or -d: 只输出架构、不输出数据

mysqldump 常用参数

--default-character-set=utf8
--protocol=tcp
--host=localhost
--port=3306
--user=root
-paaaa
"code_gen"
--single-transaction=true
--extended-insert=false
--complete-insert=true
--add-drop-table
--order-by-primary
--routines
--events

mysqldump - MySQL Workbench 导出选项 (Data Export)

导出 - 选项

  • Create Dump in a Single Transaction (self-contained file only): 建议勾选此项,取消勾选此项后,执行的 mysqldump.exe 命令中会减少 --single-transaction=TRUE 参数,但输出无变化。
  • Include Create Schema: 建议勾选此项,勾选此项后,执行的 mysqldump.exe 命令 无任何变化 (MySQL Workbench Export Progress Log 所示),但输出中增加了 CREATE DATABASE IF NOT EXISTS `code_gen` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `code_gen`; 两行。

Advanced Options (导出 - 高级选项)

SQL 部分

  • create-options - Include all MySQL-specific table options in CREATE TABLE statements.: 必须勾选此选项,否则,执行的 mysqldump.exe 命令中将出现 --create-options=FALSE 参数,这导致 CREATE TABLE `tpl` ( `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', ... PRIMARY KEY (`Id`)) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COMMENT='模板'; 中的 AUTO_INCREMENTENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COMMENT='模板' 被移除。
  • allow-keywords - Allow creation of column names that are keywords.: 勿选此项,因为尚未黑盒测得该参数行为。测试时,勾选此项后,执行的 mysqldump.exe 命令中增加了 --allow-keywords=TRUE 参数,但输出无变化。
  • quote-names - Quote identifiers within backtick characters.: 必须勾选此选项,否则,执行的 mysqldump.exe 命令中将出现 --quote-names=FALSE 参数,这导致 lock tablesdrop tablecreate tableinsert 语句中 包围 tb_namecol_name` 都将被移除。

Other 部分

  • dump-date - Include dump date as "Dump completed on" comment if - comments is given.: 建议勾选此项,取消勾选此项后,执行的 mysqldump.exe 命令中会增加 --dump-date=FALSE 参数,这导致 输出的末尾的 -- Dump completed on 2018-04-09 9:38:59 变成 -- Dump completed

*disable-keys - For each table, surround the INSERT statements with statements to disable and enable keys.: 建议勾选此项,取消勾选此项后,执行的 mysqldump.exe 命令中会增加 --disable-keys=FALSE 参数。例如 某个表有 N 行数据,将生成 N 行 INSERT 语句,此处我们称为 "插入语句块",如果勾选此项,则在 上述块 之前 会输出一行 /*!40000 ALTER TABLE `prj_db` DISABLE KEYS */;、在 上述块 之后 会输出一行 /*!40000 ALTER TABLE `prj_db` ENABLE KEYS */;。取消勾选此项后,不输出这二行。

  • order-by-primary - Dump each table's rows sorted by its primary key, or by its first unique index.: 建议勾选此项,勾选此项后,执行的 mysqldump.exe 命令中会增加 --order-by-primary=TRUE 参数,这导致 在每个 上述 "插入语句块" 之前 输出一行 -- ORDER BY: `Id`,但未发现其他行为,猜想 当表中的行非聚集索引时 才能观察到变化。
  • tz-utc - Add SET TIME_ZONE='+00:00' to eh dump file.: 建议勾选此项,取消勾选此项后,执行的 mysqldump.exe 命令中会增加 --tz-utc=FALSE 参数,这导致 输出的开始部分的 /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;/*!40103 SET TIME_ZONE='+00:00' */; 与 输出的结尾部分的 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; 都不见了。

Inserts 部分

  • complete-insert - Use complete INSERT statements that include column names.: 建议勾选此项,勾选此项后,执行的 mysqldump.exe 命令中增加了 --complete-insert=TRUE 参数,这导致 输出中将增加 insert into tb_name (col_list) values (val_list); 中的 (col_list)
  • extended-insert - Use multiple-row INSERT syntax that include several VALUES lists.: 勿选此项,取消勾选此项后,执行的 mysqldump.exe 命令中增加了 --extended-insert=FALSE 参数,这导致 为每行输出一行 insert into tb_name (col_list) values (val_list); 而非 为所有行输出一行 insert into tb_name (col_list) values (val_list),...,(val_list);

MySqlDump_CodeGen.bat 系列 文件备份 (2018-08-30 from VM1/D:/Share/)

Note: 以下脚本向该文件所在目录写入。

MySqlDump_CodeGen.bat

set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%

set hh=%time:~0,2%
set hh=%hh: =0%

set mn=%time:~3,2%
set ss=%time:~6,2%

set filename=CodeGen_%yy%%mm%%dd%%hh%%mn%%ss%.sql

mysqldump --user=root -paaaa "code_gen" --complete-insert=true --extended-insert=false --order-by-primary --routines --events > %filename%

MySqlDump_CodeGen_Data.bat

set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%

set hh=%time:~0,2%
set hh=%hh: =0%

set mn=%time:~3,2%
set ss=%time:~6,2%

set filename=CodeGen_%yy%%mm%%dd%%hh%%mn%%ss%.sql

mysqldump --user=root -paaaa "code_gen" --complete-insert=true --extended-insert=false --order-by-primary --routines --events --no-create-info=true > %filename%

MySqlDump_CodeGen_Schema.bat

set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%

set hh=%time:~0,2%
set hh=%hh: =0%

set mn=%time:~3,2%
set ss=%time:~6,2%

set filename=CodeGen_%yy%%mm%%dd%%hh%%mn%%ss%.sql

mysqldump --user=root -paaaa "code_gen" --complete-insert=true --extended-insert=false --order-by-primary --routines --events --no-data > %filename%

MySqlDump_CodeGen_Separate.bat

set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%

set hh=%time:~0,2%
set hh=%hh: =0%

set mn=%time:~3,2%
set ss=%time:~6,2%

set filename=CodeGen_%yy%%mm%%dd%%hh%%mn%%ss%

mysqldump --user=root -paaaa "code_gen" --complete-insert=true --extended-insert=false --order-by-primary --routines --events --no-data > %filename%_Schema.sql
mysqldump --user=root -paaaa "code_gen" --complete-insert=true --extended-insert=false --order-by-primary --routines --events --no-create-info=true > %filename%_Data.sql

mysqldump 中的界定符 - 测试记录

无引号、双引号 有效:

mysqldump -uroot -paaaa  code_gen  > CodeGen.sql
mysqldump -uroot -paaaa "code_gen" > CodeGen.sql

单引号、反引号 无效:

mysqldump -uroot -paaaa 'code_gen' > CodeGen.sql
mysqldump -uroot -paaaa `code_gen` > CodeGen.sql

备份方法 (网摘)

  • mysql innodb hot backup - 收费,热备
  • 使用 mysqldump
  • 使用 xtrabackup 热备,可用于 InnoDB 与 XtraDB 引擎的表,http://percona.com/ 出品,开源,据官方介绍这是世界上惟一一款开源的能够对 innodb 和 xtradb 数据库进行热备的工具。
  • 使用 mydumper
  • 使用 mysqlhotcopy,可用于 MyISAM
  • 直接复制数据库文件,适用于 MyISAM,不适用于 InnoDB。

mysqldump 原理

  • 为架构生成 CREATE 语句
  • 为数据生成 INSERT 语句
  • 将上述语句持久化为 *.sql 文件
  • 用上述文件重建数据库架构与数据。

Note: 输出的 *.sql 文件中,以 -- 开头是普通 SQL 注释,以 /*!40101 等形式开头的是有特殊约定的注释。40101 是数据库的版本号,如还原时的目标数据库的版本比 4.1.1 高,则 /*!40101*/ 之间的内容将视为 SQL 命令被执行,如果比 4.1.1 低则视为注释。

测试记录

c:\>mysqldump -h 192.168.1.34 -P3306 -u dba -p code_gen > d:/z_mysqldump/tony003.sql
Enter password: ***

"MySQL Workbench 导出 (调用 mysqldump)" 测试记录 (2018-01-25)

总结: 各种数据类型的列的值 在导出的 INSERT 语句中的 表现形式

  • bit(1) 类型的值的输出形如 '\0'
  • tinyint(3)smallint(5) 类型的值的输出形如 3
  • decimal(4,2) 类型的值的输出形如 4.99
  • varchar(255)text 类型的值的输出形如 'a\r\nb\"c\\'
  • datetimetimestamp 类型的值的输出形如 '2006-02-14 21:03:42'
  • year(4) 类型的值的输出形如 2006
  • enum('aa','bb','cc') 类型的值的输出形如 'aa'
  • set('aa', 'bb', 'cc') 类型的值的输出形如 'aa,bb'

步骤

  • 入口 Menu - Server - Data Export
  • 选择导出对象 (库、表、架构、数据、视图、存储过程、事件、触发器)
  • 选择 每个表导出为一个独立的文件 或者 全部导出在单个文件中
  • Export to Self-Contained File C:\Users\User0\Documents\dumps\Dump20180125-1.sql
  • Create Dump in a Single Transaction (self-contained file only)
  • Include Create Schema
  • Press [Start Export]

提示

mysqldump.exe is version 5.7.12, but the MySQL Server to be dumped has version 5.7.17.
Because the version of mysqldump is older than the server, some features may not be backed up properly.
It is recommended you upgrade your local MySQL client programs, including mysqldump, to a version equal to or newer than that of the target server.
The path to the dump tool must then be set in Preferences -> Administrator -> Path to mysqldump Tool:

导出结果 的 完整备份 C:\Users\User0\Documents\dumps\Dump20180125.sql

CREATE DATABASE  IF NOT EXISTS `code_gen` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `code_gen`;
-- MySQL dump 10.13  Distrib 5.7.12, for Win64 (x86_64)
--
-- Host: localhost    Database: code_gen
-- ------------------------------------------------------
-- Server version	5.7.17-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 */;

--
-- Table structure for table `cls_tb`
--

DROP TABLE IF EXISTS `cls_tb`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cls_tb` (
  `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `NameOfCls` varchar(30) NOT NULL COMMENT '类名',
  `NameOfTb4MySql` varchar(30) NOT NULL COMMENT '表名 (MySQL)',
  `NameOfTb4SqlSrv` varchar(30) NOT NULL COMMENT '表名 (SQL Server)',
  `NameOfTb4Orcl` varchar(30) NOT NULL COMMENT '表名 (Oracle)',
  `Remark` varchar(1000) NOT NULL COMMENT '备注',
  `IdOfPrjDb` int(10) unsigned NOT NULL COMMENT '引用 prj_db 表的 Id 列',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='类与表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `cls_tb`
--

LOCK TABLES `cls_tb` WRITE;
/*!40000 ALTER TABLE `cls_tb` DISABLE KEYS */;
INSERT INTO `cls_tb` VALUES (4,'NameOfCls41','NameOfTb4MySql41','NameOfTb4SqlSrv41','NameOfTb4Orcl41','Remark41',4),(5,'NameOfCls42','NameOfTb4MySql42','NameOfTb4SqlSrv42','NameOfTb4Orcl42','Remark42',4),(6,'NameOfCls43','NameOfTb4MySql43','NameOfTb4SqlSrv43','NameOfTb4Orcl43','Remark43',4),(10,'NameOfCls51','NameOfTb4MySql51','NameOfTb4SqlSrv51','NameOfTb4Orcl51','Remark51',5),(11,'NameOfCls52','NameOfTb4MySql52','NameOfTb4SqlSrv52','NameOfTb4Orcl52','Remark52',5),(12,'NameOfCls53','NameOfTb4MySql53','NameOfTb4SqlSrv53','NameOfTb4Orcl53','Remark53',5),(13,'NameOfCls61','NameOfTb4MySql61','NameOfTb4SqlSrv61','NameOfTb4Orcl61','Remark61',6),(14,'NameOfCls62','NameOfTb4MySql62','NameOfTb4SqlSrv62','NameOfTb4Orcl62','Remark62',6),(15,'NameOfCls63','NameOfTb4MySql63','NameOfTb4SqlSrv63','NameOfTb4Orcl63','Remark63',6);
/*!40000 ALTER TABLE `cls_tb` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `prj_db`
--

DROP TABLE IF EXISTS `prj_db`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `prj_db` (
  `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `NameOfPrj` varchar(30) NOT NULL COMMENT '项目名',
  `NameOfDb4MySql` varchar(30) NOT NULL COMMENT '数据库名 (MySQL)',
  `NameOfDb4SqlSrv` varchar(30) NOT NULL COMMENT '数据库名 (SQL Server)',
  `NameOfDb4Orcl` varchar(30) NOT NULL COMMENT '数据库名 (Oracle)',
  `Remark` varchar(1000) NOT NULL COMMENT '备注',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='项目与库';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `prj_db`
--

LOCK TABLES `prj_db` WRITE;
/*!40000 ALTER TABLE `prj_db` DISABLE KEYS */;
INSERT INTO `prj_db` VALUES (4,'NameOfPrj4','NameOfDb4MySql4','NameOfDb4SqlSrv4','NameOfDb4Orcl4','Remark4'),(5,'NameOfPrj5','NameOfDb4MySql5','NameOfDb4SqlSrv5','NameOfDb4Orcl5','Remark5'),(6,'NameOfPrj6','NameOfDb4MySql6','NameOfDb4SqlSrv6','NameOfDb4Orcl6','Remark6');
/*!40000 ALTER TABLE `prj_db` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `prop_col`
--

DROP TABLE IF EXISTS `prop_col`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `prop_col` (
  `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `NameOfProp` varchar(30) NOT NULL COMMENT '属性名',
  `NameOfCol4MySql` varchar(30) NOT NULL COMMENT '列名 (MySQL)',
  `NameOfCol4SqlSrv` varchar(30) NOT NULL COMMENT '列名 (SQL Server)',
  `NameOfCol4Orcl` varchar(30) NOT NULL COMMENT '列名 (Oracle)',
  `IsAllowNull` bit(1) NOT NULL COMMENT '是否可为空',
  `IsKey` bit(1) NOT NULL COMMENT '是否主键',
  `IsIncr` bit(1) NOT NULL COMMENT '是否自增',
  `DefaultValue` varchar(50) NOT NULL COMMENT '默认值',
  `Remark` varchar(1000) NOT NULL COMMENT '备注',
  `IdOfClsTb` int(10) unsigned NOT NULL COMMENT '引用 cls_tb 表的 Id 列',
  `IdOfMySqlType` tinyint(3) unsigned NOT NULL COMMENT '引用 type_of_mysql 表的 Id 列',
  `IdOfSqlSrvType` tinyint(3) unsigned NOT NULL COMMENT '引用 type_of_sql_srv 表的 Id 列',
  `IdOfOrclType` tinyint(3) unsigned NOT NULL COMMENT '引用 type_of_Orcl 表的 Id 列',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COMMENT='属性与列';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `prop_col`
--

LOCK TABLES `prop_col` WRITE;
/*!40000 ALTER TABLE `prop_col` DISABLE KEYS */;
INSERT INTO `prop_col` VALUES (4,'NameOfProp411','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',4,1,1,1),(5,'NameOfProp412','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',4,1,1,1),(6,'NameOfProp413','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',4,1,1,1),(7,'NameOfProp421','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',5,1,1,1),(8,'NameOfProp422','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',5,1,1,1),(9,'NameOfProp423','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',5,1,1,1),(10,'NameOfProp431','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',6,1,1,1),(11,'NameOfProp432','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',6,1,1,1),(12,'NameOfProp433','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',6,1,1,1),(13,'NameOfProp511','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',10,1,1,1),(14,'NameOfProp512','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',10,1,1,1),(15,'NameOfProp513','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',10,1,1,1),(16,'NameOfProp521','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',11,1,1,1),(17,'NameOfProp522','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',11,1,1,1),(18,'NameOfProp523','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',11,1,1,1),(19,'NameOfProp531','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',12,1,1,1),(20,'NameOfProp532','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',12,1,1,1),(21,'NameOfProp533','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',12,1,1,1),(22,'NameOfProp611','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',13,1,1,1),(23,'NameOfProp612','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',13,1,1,1),(24,'NameOfProp613','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',13,1,1,1),(25,'NameOfProp621','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',14,1,1,1),(26,'NameOfProp622','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',14,1,1,1),(27,'NameOfProp623','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',14,1,1,1),(28,'NameOfProp631','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',15,1,1,1),(29,'NameOfProp632','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',15,1,1,1),(30,'NameOfProp633','NameOfCol4MySql','NameOfCol4SqlSrv','NameOfCol4Orcl','\0','\0','\0','','Remark',15,1,1,1);
/*!40000 ALTER TABLE `prop_col` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `type_of_dot_net`
--

DROP TABLE IF EXISTS `type_of_dot_net`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `type_of_dot_net` (
  `Id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `NameOfDotNetType` varchar(10) NOT NULL COMMENT '.NET 数据类型的名称',
  `NameOfCSharpType` varchar(10) NOT NULL COMMENT 'C# 数据类型的名称',
  `HasNullableType` bit(1) NOT NULL COMMENT '是否有可空类型',
  `Remark` varchar(1000) NOT NULL COMMENT '备注',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='.NET 数据类型';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `type_of_dot_net`
--

LOCK TABLES `type_of_dot_net` WRITE;
/*!40000 ALTER TABLE `type_of_dot_net` DISABLE KEYS */;
/*!40000 ALTER TABLE `type_of_dot_net` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `type_of_mysql`
--

DROP TABLE IF EXISTS `type_of_mysql`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `type_of_mysql` (
  `Id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `Name` varchar(10) NOT NULL COMMENT 'MySQL 数据类型的名称',
  `Remark` varchar(1000) NOT NULL COMMENT '备注',
  `IdOfDotNetType` tinyint(3) unsigned NOT NULL COMMENT '引用 type_of_dot_net 表的 Id 列',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='MySQL 数据类型';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `type_of_mysql`
--

LOCK TABLES `type_of_mysql` WRITE;
/*!40000 ALTER TABLE `type_of_mysql` DISABLE KEYS */;
/*!40000 ALTER TABLE `type_of_mysql` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `type_of_orcl`
--

DROP TABLE IF EXISTS `type_of_orcl`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `type_of_orcl` (
  `Id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `Name` varchar(10) NOT NULL COMMENT 'Oracle 数据类型的名称',
  `Remark` varchar(1000) NOT NULL COMMENT '备注',
  `IdOfDotNetType` tinyint(3) unsigned NOT NULL COMMENT '引用 type_of_dot_net 表的 Id 列',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Oracle 数据类型';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `type_of_orcl`
--

LOCK TABLES `type_of_orcl` WRITE;
/*!40000 ALTER TABLE `type_of_orcl` DISABLE KEYS */;
/*!40000 ALTER TABLE `type_of_orcl` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `type_of_sql_srv`
--

DROP TABLE IF EXISTS `type_of_sql_srv`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `type_of_sql_srv` (
  `Id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `Name` varchar(10) NOT NULL COMMENT 'SQL Server 数据类型的名称',
  `Remark` varchar(1000) NOT NULL COMMENT '备注',
  `IdOfDotNetType` tinyint(3) unsigned NOT NULL COMMENT '引用 type_of_dot_net 表的 Id 列',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='SQL Server 数据类型';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `type_of_sql_srv`
--

LOCK TABLES `type_of_sql_srv` WRITE;
/*!40000 ALTER TABLE `type_of_sql_srv` DISABLE KEYS */;
/*!40000 ALTER TABLE `type_of_sql_srv` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2018-01-25  1:52:52