有两个简单的方法MySQL中的数据加载到MySQL数据库从先前备份的文件。
LOAD DATA导入数据:
MySQL提供了LOAD DATA语句,作为一个大容量数据加载。下面是一个例子声明中,读取一个文件dump.txt,,从当前目录加载到当前数据库中的表mytbl:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
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可以加载该文件是这样的:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
导入数据mysqlimport
MySQL还包括一个命名的mysqlimport实用程序,作为LOAD DATA包直接在命令行中输入文件加载。
要加载数据从dump.txt到mytbl使用,在UNIX提示符下面的命令。
$ mysqlimport -u root -p --local database_name dump.txt password *****
如果使用mysqlimport命令行选项提供的格式说明符。mysqlimport命令对应于前面的两个LOAD DATA语句看起来像这样:
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****
mysqlimport 指定的选项的顺序并不重要,但他们都应该先于数据库的名称。
mysqlimport 语句使用 - 列选项来指定列的顺序:
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password *****
处理引号和特殊字符:
FIELDS子句可以指定其他格式的选择,除了TERMINATED BY。默认情况下,LOAD DATA假设值加引号,并解释反斜杠(\)作为转义字符的特殊字符。要指示值显式地引用字符,使用封闭;,MySQL将两端的数据值中删除该字符的输入处理过程中。要更改默认的转义字符,请使用来转义。
对于mysqlimport引号和转义值,用于指定相应的命令行选项 - 封闭的领域 - 领域转义