mysql 的load data infile

MySQL 的 LOAD DATA INFILE 命令可以通过加载本地或远程文件的方式,将数据快速地导入到数据库中,具有导入速度快、效率高等优点。

以下是使用 LOAD DATA INFILE 导入数据的步骤:

1. 准备数据文件

首先要准备好要导入的数据文件,该文件的格式必须与要导入到的表的字段格式完全相同。可以采用各种格式的文件,如 .csv、.txt、.xls 等,但必须确保文件与表字段格式匹配,并且文件编码与数据表中的编码一致。

例如,有如下的数据文件 "data.csv" :

ID,Name,Age,Gender
1,Tom,20,Male
2,Lily,18,Female
3,Jack,22,Male

2. 创建数据表

创建需要导入数据的表,表的字段必须与数据文件的格式完全匹配。
例如,创建如下表:

CREATE TABLE IF NOT EXISTS `student` (
  `ID` int(11) NOT NULL,
  `Name` varchar(50) NOT NULL,
  `Age` int(11) NOT NULL,
  `Gender` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

3. 使用 LOAD DATA INFILE 导入数据

使用 LOAD DATA INFILE 命令,将数据文件导入到数据表中:

LOAD DATA INFILE 'data.csv' 
INTO TABLE `student`
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS;

LOAD DATA INFILE 的语法说明如下:

  • LOAD DATA INFILE '文件名':指定要导入的数据文件名称。
  • INTO TABLE 表名:指定要导入数据的数据表名称。
  • FIELDS TERMINATED BY ',':指定数据文件字段之间的分隔符,例如逗号、制表符等。
  • ENCLOSED BY '"':指定数据文件中字符串字段的限定符。如果数据文件中包含“null”或“\N”,需要使用该选项将其识别为 NULL。
  • LINES TERMINATED BY '\r\n':指定每一行数据的分隔符。
  • IGNORE 1 ROWS:指定要忽略的行数,此处忽略数据文件的第一行标题行。

4. 示例说明

为了更好地说明 LOAD DATA INFILE 命令的用法,下面举例说明:

假设有如下数据文件 data.txt:

1,张三,20,男
2,李四,21,女
3,王五,22,男

现在想将该文件导入到如下的数据表 student 中:

CREATE TABLE IF NOT EXISTS `student` (
  `id` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `age` int(11) NOT NULL,
  `gender` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

使用以下命令将数据导入到 student 表中:

LOAD DATA INFILE '/usr/local/mysql-5.6.22/data/data.txt' INTO TABLE student FIELDS TERMINATED BY ',';

上面的命令将使用逗号作为字段分割符,并将指定的数据文件 /usr/local/mysql-5.6.22/data/data.txt 导入到 student 表中。

另外,如果数据文件不是在本地,而是在远程服务器上,可以在 LOAD DATA INFILE 命令中指定远程服务器地址。例如,假设数据文件存储在远程服务器的 /data/ 目录下,远程服务器的 IP 是 192.168.1.100,用户名和密码分别是 user 和 password,则可以使用以下命令将数据导入到本地 MySQL 数据库:

LOAD DATA INFILE '\\192.168.1.100\data\data.txt'
INTO TABLE student
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS
(username, password);

在以上命令中,使用的是双斜杠来表示远程服务器地址,同时指定了字段分割符和行分割符,并忽略了数据文件的第一行。

总体来说,LOAD DATA INFILE 命令是一个非常方便的工具,可以快速地将大量数据导入到 MySQL 数据库中。需要特别注意的是,数据文件的格式和数据表的格式必须完全一致,否则可能导致数据导入错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql 的load data infile - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 一文教你Qt如何操作SQLite数据库

    一文教你Qt如何操作SQLite数据库 1. 安装SQLite数据库驱动 在Qt中操作SQLite数据库,需要使用到SQLite数据库驱动。下面介绍如何安装和配置这个驱动。 1.1 下载SQLite 访问 SQLite官网 ,选择最新的预编译二进制文件下载。 1.2 下载SQLite驱动 访问Qt官网的下载页面,选择对应版本的Qt安装程序。这里以Qt 5.1…

    C 2023年5月22日
    00
  • 详细分析C++ 信号处理

    详细分析C++信号处理 什么是信号处理? 信号处理是一种处理外部事件的方法。在Linux环境下,当一个进程接收到某种事件信号时,操作系统会发送一个信号给该进程。通过信号处理函数,进程可以对该信号进行处理。 如何在C++中进行信号处理? 在C++中,可以通过POSIX标准的signal()函数来设置信号处理函数。以下是使用signal()函数的代码示例: #i…

    C 2023年5月23日
    00
  • C语言的动态内存管理的深入了解

    C语言的动态内存管理的深入了解 什么是动态内存 在 C 语言中,动态内存是由程序员在运行时分配的内存。与之相对的是静态内存,即在编译器静态分配的内存。动态内存分配在需要的时候进行,这使得程序在运行时更加灵活。 在 C 语言中,动态内存的分配和管理不同于栈空间和全局/静态内存。程序员可以使用几个库函数来进行动态内存分配和释放,这个过程也称为 动态内存管理 。 …

    C 2023年5月22日
    00
  • C语言实现高精度的加法

    接下来我将为您讲解如何使用C语言实现高精度加法的完整攻略: 1. 需求分析 首先,我们需要明确需求:有两个非常大的数需要相加,由于超过了C语言中所能表示的数据范围,因此需要使用“高精度”计算,即手写计算方法,通过逐位计算来实现。 2. 解决方案 实现高精度加法的思路如下: 将两个数用字符数组存储 将两个数的个位数开始逐位相加,大于10则产生进位 将结果按照顺…

    C 2023年5月23日
    00
  • Python调用C语言程序方法解析

    概述 Python是高级语言,能够完成大多数任务,但是有时我们需要更高效、更低层的代码来完成任务。在这种情况下,我们可以使用C语言来实现算法或其他进程密集型任务。调用C语言程序使我们可以利用C语言的所有强大功能,然后通过Python进程访问它。在本文中,我们将介绍如何使用Python调用C语言程序的过程。 编写C语言程序 首先,我们需要编写需要调用的C语言程…

    C 2023年5月23日
    00
  • Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer异常

    框架或应用程序在启动或执行时,可能会抛出各种异常。其中一个常见异常是 java.lang.ClassNotFoundException,这种异常通常表示由类装入器试图加载某个类,但在加载类时未找到相应的类。 当我们的应用程序或框架抛出了 java.lang.ClassNotFoundException: org.apache.commons.collecti…

    C 2023年5月23日
    00
  • 浅谈Spring @Async异步线程池用法总结

    针对“浅谈Spring @Async异步线程池用法总结”的主题,我将详细讲解如下: 1. 什么是Spring @Async异步线程池 在介绍 Spring @Async 异步线程池之前,我们需要先了解同步和异步的概念: 同步:就是一个任务执行完之后再执行下一个任务,任务按顺序一个接一个依次执行。 异步:与同步相反,异步任务的执行时间和顺序是不可预测的,任务的…

    C 2023年5月23日
    00
  • C语言实现简单万年历

    为了实现一个简单的万年历,可以遵循以下步骤: 1. 定义数据结构 首先,需要定义用于存储月份、日期等信息的数据结构。一般来说,可以使用结构体来表示日期: struct date { int year; // 年份 int month; // 月份 int day; // 日子 }; 2. 实现基本功能函数 接下来,需要实现一些基本的函数来处理日期。比如,可以…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部