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日

相关文章

  • Golang实现解析JSON的三种方法总结

    当我们需要解析JSON格式数据时,Golang提供了三种方法:- 使用encoding/json包- 使用第三方库github.com/tidwall/gjson- 使用第三方库github.com/json-iterator/go 1. encoding/json包解析JSON数据 在Golang中,我们可以使用标准库中的encoding/json包来解析…

    C 2023年5月23日
    00
  • c++ 类和对象总结

    C++类和对象总结 C++是一门面向对象的语言,类和对象是其核心概念之一。在使用C++进行OOP编程中,类和对象的概念是非常重要的。以下为C++类和对象的总结: 什么是类和对象 C++中的类可以看做一个模板或者蓝本,用来描述一个对象应该具备的属性和行为。一个类定义了一个抽象数据类型,使用类可以创建很多具体的对象。当创建一个类的对象时,这个类的定义被用来为这个…

    C 2023年5月22日
    00
  • C语言 递归实现排雷游戏

    C语言 递归实现排雷游戏 介绍 排雷游戏是一款非常经典的休闲小游戏,本文将详细介绍如何使用C语言递归实现排雷游戏。 实现原理 排雷游戏的核心就是根据玩家翻开格子的情况,计算周围雷的数量并显示在格子上。 对于每一个格子,我们需要进行以下操作: 如果该格子是雷,则直接显示在格子上 如果该格子不是雷,则计算周围雷的数量n,如果n为0,则继续递归翻开周围的格子直到不…

    C 2023年5月23日
    00
  • C语言详细实现猜拳游戏流程

    C语言详细实现猜拳游戏流程 游戏规则 猜拳游戏是一款两人对战的游戏,游戏的主要流程如下: 游戏开始时,系统提示玩家输入自己的姓名。 系统随机选择出石头、剪刀、布三个选项之一,并提示玩家进行出拳。 玩家根据自己的想法输入石头、剪刀、布三个选项之一。 系统对出拳进行比较,输出比赛结果:玩家胜利、系统胜利或平局。 系统询问玩家是否继续游戏。 如果玩家选择继续游戏,…

    C 2023年5月23日
    00
  • C++多线程编程详解

    我会详细讲解C++多线程编程的攻略。对于多线程编程,一般分为以下几个步骤: 1. 包含头文件 要进行多线程编程,需要包含头文件<thread>。 #include <thread> 2. 创建线程 使用std::thread类创建一个线程,并将需要执行的函数作为参数传入。 void my_func() { // 线程要执行的代码 } …

    C 2023年5月22日
    00
  • JSP学习之异常处理实例分析

    JSP学习之异常处理实例分析 异常处理概述 在Java程序中,异常是指程序在执行过程中出现的错误。通常情况下,我们希望程序能够自动捕获这些异常,并对其进行处理。这就需要使用异常处理机制。 JSP中也同样具备处理异常的能力,可以通过try…catch…代码块来捕获异常并处理异常。本文将介绍具体如何在JSP中处理异常,同时提供几个异常处理的实例用于帮助读…

    C 2023年5月23日
    00
  • C语言实现简单计算器程序

    C语言实现简单计算器程序 实现一个简单的计算器程序可以帮助我们更好地理解C语言的基本语法和逻辑思维方式。下面给出完整的攻略。 步骤一:设计计算器程序 首先,我们需要明确计算器程序的功能和界面。 本程序需要实现以下功能: 支持加、减、乘、除四种基本运算 支持整数和小数的运算 支持多次运算 支持清空和退出功能 程序界面可以设计成如下形式: ===========…

    C 2023年5月23日
    00
  • js中如何获取JSON数组的长度

    获取JSON数组长度的方法有两种,分别是通过数组的length属性和通过Object的keys方法获取数组的长度。 通过数组的length属性获取长度: JSON数组即JavaScript中的数组,可以使用JavaScript的数组方法来获取数组长度,其中最常见的方法是使用length属性。 示例1: 假设现在有一个JSON数组,里面存储了一些数据: var…

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