MySQL中有两种简单的方法可以将数据从先前备份的文件加载到MySQL数据库中。
MySQL提供了一个LOAD DATA语句,该语句充当批量数据加载器,这是一个示例语句,该语句从当前目录读取文件 dump.txt 并将其加载到当前数据库的表 mytbl 中。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
如果没有 LOCAL 关键字,MySQL将使用查找绝对路径名查找服务器主机上的数据文件,该文件完全指定了路径从文件系统根目录开始的文件。
默认情况下, LOAD DATA 假定数据文件包含以换行符结尾的行,并且行中的数据值由制表符分隔。
要显式指定文件格式,请使用 FIELDS 子句来描述行中字段的特征,并使用 LINES 子句来指定行-结束顺序。以下 LOAD DATA 语句指定数据文件包含用冒号和以回车符和换行符结尾的行分隔的值。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':' -> LINES TERMINATED BY '\r\n';
LOAD DATA命令假定数据文件中的列与表中的列具有相同的顺序。如果不是这样,则可以指定一个列表以指示数据文件列应加载到哪些表列中。假设您的表有a,b和c列,但数据文件中的连续列对应于b,c和a列。
您可以按照以下代码块中所示加载文件。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
MySQL还包括一个名为 mysqlimport 的实用程序,该实用程序充当LOAD DATA的包装,因此您可以直接从命令行加载输入文件。
要将数据从 dump.txt 加载到 mytbl 中,请在UNIX提示符下使用以下命令。
$mysqlimport -u root -p --local database_name dump.txt password *****
如果使用 mysqlimport ,则命令行options将提供格式说明符。与前两个 LOAD DATA 语句相对应的 mysqlimport 命令的外观如以下代码块所示。
$mysqlimport -u root -p --local --fields-terminated-by=":"\ --lines-terminated-by="\r\n" database_name dump.txt password *****
指定选项的顺序对于mysqlimport无关紧要,只是它们都应位于数据库名称之前。
mysqlimport 语句使用-columns 选项指定列顺序-
$mysqlimport -u root -p --local --columns=b,c,a\ database_name dump.txt password *****
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕