MySQL 什么是MySQL LOAD DATA语句?

MySQL 什么是MySQL LOAD DATA语句?

MySQL LOAD DATA语句是一种用于向MySQL数据库中插入数据的操作命令。通过使用LOAD DATA语句,我们可以将以逗号分隔或制表符分隔的数据文件导入到数据库表中。

阅读更多:MySQL 教程

语法

LOAD DATA语句的语法如下:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE table_name
[FIELDS
    [TERMINATED BY 'char']
    [[OPTIONALLY] ENCLOSED BY 'char']
    [ESCAPED BY 'char']
]
[LINES
    [STARTING BY 'char']
    [TERMINATED BY 'char']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]

其中,LOAD DATA语句的关键字包括:

  • LOW_PRIORITY / CONCURRENT:可选参数,表示插入数据的优先级。
  • LOCAL:可选参数,表示读取文件时使用本地文件而不是服务器端文件。
  • INFILE:要读取的数据文件名,必选参数。
  • REPLACE / IGNORE:可选参数,指定当插入的数据与已有数据发生冲突时,应该替换还是忽略。
  • INTO TABLE:指定要将数据插入的目标表,必选参数。
  • FIELDS / LINES:指定数据文件中字段和行的分隔符。
  • IGNORE number LINES:忽略数据文件中前几行。
  • (col_name_or_user_var,…):指定要插入的字段名列表或用户变量列表。
  • SET col_name = expr,…:指定要插入的字段和值,以等号分隔。

示例

下面是一个使用LOAD DATA语句将csv文件的数据导入MySQL表的示例:

假设我们有一个csv文件,其中包含以下数据:

name,age,gender
Tom,24,male
Lucy,22,female
John,25,male

首先,我们需要创建一个MySQL表来存储这些数据,可以使用如下DDL语句:

CREATE TABLE users (
  name VARCHAR(50),
  age INT,
  gender VARCHAR(10)
);

接下来,我们使用LOAD DATA语句将数据导入到该表中:

LOAD DATA INFILE '/path/to/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

这些语句的含义是:

  • 使用LOAD DATA语句读取名为「users.csv」的文件。
  • 将从文件读取的数据插入到「users」表中。
  • 每个字段之间使用「,」作为分隔符。
  • 每行之间使用「\n」作为分隔符。
  • 忽略文件中的第一行标题行。

结论

MySQL LOAD DATA语句是一种快捷方便的方法,可以将大量的数据快速导入到MySQL数据库中,从而在插入的速度上提高效率。当我们需要将数据从文件中读取并插入到数据库时,LOAD DATA语句是一个非常好用的工具。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程