MySQL中如何导入数据

yumo66610个月前 (03-28)技术文章191

使用 LOAD DATA 导入数据

MySQL 中提供了LOAD DATA INFILE语句来插入数据。 以下实例中将从当前目录中读取文件 dump.txt ,将该文件中的数据插入到当前数据库的 mytbl 表中。

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

如果指定LOCAL关键词,则表明从客户主机上按路径读取文件。如果没有指定,则文件在服务器上按路径读取文件。

你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。

两个命令的 FIELDS 和 LINES 子句的语法是一样的。两个子句都是可选的,但是如果两个同时被指定,FIELDS 子句必须出现在 LINES 子句之前。

如果用户指定一个 FIELDS 子句,它的子句 (TERMINATED BY、[OPTIONALLY] ENCLOSED BY 和 ESCAPED BY) 也是可选的,不过,用户必须至少指定它们中的一个。

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);

使用 mysqlimport 导入数据

mysqlimport客户端提供了LOAD DATA INFILEQL语句的一个命令行接口。mysqlimport的大多数选项直接对应LOAD DATA INFILE子句。

从文件 dump.txt 中将数据导入到 mytbl 数据表中, 可以使用以下命令:

$ mysqlimport -u root -p --local database_name dump.txt
password *****

mysqlimport命令可以指定选项来设置指定格式,命令语句格式如下:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \
 --lines-terminated-by="\r\n" database_name dump.txt
password *****

mysqlimport 语句中使用 --columns 选项来设置列的顺序:

$ mysqlimport -u root -p --local --columns=b,c,a \
 database_name dump.txt
password *****

mysqlimport的常用选项介绍

相关文章

如何将服务器数据迁移到另一台服务器

将服务器数据迁移到另一台服务器可以通过以下几种常见的方法实现:首先购买一台服务器,可以在网址栏搜索 218.0.48.3:8801购买。1、直接复制文件通过网络连接(如 SSH、FTP 等)将数据从源...

怎样快速地迁移 MySQL 中的数据?

MySQL 数据库是一个常见的关系型数据库,在实际应用中,可能需要将数据从一个 MySQL 数据库迁移到另一个 MySQL 数据库,或将 MySQL 数据库中的数据迁移到其他类型的数据库。以下是一些快...

mysql迁移data文件夹恢复数据库遇到一个奇怪的问题

客户服务器中毒了,系统启动不了;那只能重做系统了。重做系统之前,先准备PE系统进入服务器来备份数据库数据。安装windows2012注意的地方,服务器核心安装不包含GUI界面,安装后只能通过DOS命令...

Windows下MySQL8.0数据库文件路径修改和数据转移

什么情况需要修改MySQL数据文件路径?MySql在安装之初,默认的安装位置与数据保存位置都是在C盘,时间久了,C盘就会爆满,因此需要修改MySql数据保存位置。本例从C盘转移到D盘。操作步骤:1、...

详解MySQL|一招实现从Oracle到MySQL的平滑数据迁移-爱可生

本文目录:一、OGG概述(一)OGG逻辑架构二、迁移方案(一)环境信息(二)表结构迁移(三)数据迁移1.源端OGG配置(1)Oracle数据库配置(2)Oracle数据库OGG用户创建(3)源端OGG...

项目案例:Java多线程批量拆分List导入数据库

一、前言二、直接把list怼进Mysql三、分组把list导入Mysql中四、多线程分批导入Mysql五、小结一、前言前两天做了一个导入的功能,导入开始的时候非常慢,导入2w条数据要1分多钟,后来一点...