首页 > 数据库 >MySQL LOAD DATA LOCAL, 如何跳过第一行?

MySQL LOAD DATA LOCAL, 如何跳过第一行?

时间:2023-12-07 18:44:05浏览次数:41  
标签:LOAD 第一行 DATA IGNORE MySQL csv LOCAL

在MySQL中,使用LOAD DATA LOCAL命令可以将数据从本地的文件导入到数据库里面。常见的导入数据格式是csv和txt。

但是在导入csv和txt格式的数据时,第一行通常是表头,而不是数据,因此我们需要跳过第一行,只导入后面的数据。

阅读更多:MySQL 教程

 

方法一:使用IGNORE关键字

LOAD DATA LOCAL命令支持IGNORE关键字,可以忽略文件开头的行数。我们可以使用以下命令来跳过第一行:

LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE mytable IGNORE 1 LINES;
SQL

其中,IGNORE 1 LINES表示忽略文件的第一行。

方法二:使用SET关键字

LOAD DATA LOCAL命令也支持SET关键字,可以为导入的每一列设置一个值。我们可以使用以下命令来设置第一行:

LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE mytable 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(column1, @var1, column2)
SET column1 = NULLIF(@var1, '');
SQL

其中,@var1是一个变量,用来存储第一列的值,NULLIF函数用来将值转换为空值。

示例

假设我们有以下csv文件(data.csv):

name,age,gender
Tom,20,M
Mary,18,F
John,22,M
Mysql

我们想要将数据导入到MySQL的mytable表中,并跳过第一行的表头。我们可以使用以下命令:

 
LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE mytable 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
SQL

这个命令将会将Tom、Mary和John的数据导入到mytable表中。

标签:LOAD,第一行,DATA,IGNORE,MySQL,csv,LOCAL
From: https://www.cnblogs.com/zhangq/p/17883681.html

相关文章

  • MySQL创建索引的优缺点
    索引的优点1.创建唯一性索引,保证数据库表中每一行数据的唯一性2.大大加快数据的检索速度,这也是创建索引的最主要的原因3.加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。4.在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分......
  • KubeSphere Marketpalce 上新!Databend Playground 助力快速启动数据分析环境
    12月5日,DatabendLabs旗下DatabendPlayground(社区尝鲜版)成功上架青云科技旗下KubeSphereMarketplace云原生应用扩展市场,为用户提供一个快速学习和验证Databend解决方案的实验环境。关于DatabendPlaygroundDatabend是使用Rust研发、完全⾯向云架构、基于对象存......
  • windows 安装mysql 和不能通过ip访问到数据库
     一、确认windows是否已经安装mysql1.按【Win+R】打开运行2.输入【services.msc】打开服务3、在服务列表中查找MySQL,如果有mysql服务则表示Windows已经安装MySQL,如果没有MySQL服务则表示Windows没有安装MySQL二、下载MySQL安装包1、mysql官网下载地址  https://d......
  • mysql 实用的sql
    计算今日:SELECTCURRENT_DATE(); 计算本周一日期:SELECTDATE_SUB(CURDATE(),INTERVALWEEKDAY(CURDATE())DAY);计算本周日日期:SELECTDATE_ADD(CURDATE(),INTERVAL6-WEEKDAY(CURDATE())DAY); 计算本月第一天日期:SELECTDATE_SUB(CURDATE(),INTERVALDAY(CURDAT......
  • [小白入门指南] 如何使用gorm操作MySQL
    1.使用gorm的前置条件1.1MySQL的安装和配置1.2NaviacteForMySQL162.gorm基本操作2.1增2.2查2.3改2.4删2.5gorm迁移1.使用gorm的前置条件1.1MySQL的安装和配置Debian中安装MySQL|MySQL创建用户并授予权限#用rpm查看是否安装了MySQLrpm-qa|gr......
  • Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) MySql字符集及校对规则不
    查询时报错--用于解决报错>1267-Illegalmixofcollations(utf8mb4_0900_ai_ci,IMPLICIT)and(utf8mb4_general_ci,IMPLICIT)foroperation'='这个错误是由于在进行比较操作时涉及到不同的字符集和校对规则(collations)。涉及到了utf8mb4_0900_ai_ci和utf8mb4_general......
  • 【elementUI】loading动画的大小样式修改
    项目上传表格导入数据,加个的一个导入动画穿透加!important首选样式依然无效//导入动画的图标大小.is-fullscreen>>>.el-icon-loading{font-size:30px!important;}动画创建的代码,有类名有背景色,还带个文字,怎么看怎么像是创建的了一个标签上去constloading=this.$loading(......
  • 在.net中通过自定义LoggerProvider将日志保存到数据库方法(以mysql为例)
     在.NET中,Microsoft.Extensions.Logging是一个灵活的日志库,它允许你将日志信息记录到各种不同的目标,包括数据库。在这个示例中,我将详细介绍如何使用Microsoft.Extensions.Logging将日志保存到MySQL数据库。我们将使用EntityFrameworkCore来与MySQL数据库进行交互。步骤一:创......
  • 锐捷交换机---即时重启设备命令reload
    【命令功能】:reload命令用来即时重启设备。【命令格式】:reload【参数说明】:无【命令模式】:特权模式【缺省级别】:2【使用指导】:如果当前设备处于一个集群之中,执行本命令后,集群内的所有在位设备都将即时重启。【配置举例】#配置即时重启。Hostname>enableHostname#relo......
  • 浅析MySQL代价模型:告别盲目使用EXPLAIN,提前预知索引优化策略
    背景在MySQL中,当我们为表创建了一个或多个索引后,通常需要在索引定义完成后,根据具体的数据情况执行EXPLAIN命令,才能观察到数据库实际使用哪个索引、是否使用索引。这使得我们在添加新索引之前,无法提前预知数据库是否能使用期望的索引。更为糟糕的是,有时甚至在添加新的索引后,数......