首页 > 数据库 >mysql load文件是追加还覆盖

mysql load文件是追加还覆盖

时间:2024-02-04 17:44:06浏览次数:26  
标签:load LOAD name DATA MySQL IGNORE 追加 mysql 数据

MySQL是目前世界上最流行的关系型数据库管理系统之一,用于管理和处理海量的数据资料。当我们需要将大量数据导入到MySQL表中时,通常使用LOAD DATA语句,而在这个过程中,我们会遇到一个问题:MySQL的LOAD DATA到底是覆盖原有数据还是追加数据。

根据MySQL官方文档的说法,LOAD DATA默认是追加数据,即在表中已有数据的末尾插入新的数据。但如果我们想要覆盖已有数据,也是可以通过设置参数来实现的。

在LOAD DATA语句中,通过指定参数来控制数据的导入方式。下面是一些常用的参数:

LOAD DATA [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE table_name
[FIELD TERMINATED BY '\t' [ENCLOSED BY '']
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
(column1, column2, ...)

其中,REPLACE和IGNORE是常用的两个参数。

REPLACE的作用是用导入的数据覆盖表中相同主键的原有数据。如果表中没有相同主键的记录,则会插入新的记录。它的语法如下:

LOAD DATA [LOCAL] INFILE 'file_name'
REPLACE
INTO TABLE table_name

IGNORE的作用是忽略导入的数据中已经存在于表中的记录,只插入不存在的数据。它的语法如下:

LOAD DATA [LOCAL] INFILE 'file_name'
IGNORE
INTO TABLE table_name

如果我们不设置这两个参数,那么LOAD DATA会默认追加数据。如果我们需要重复导入数据且避免出现重复记录,一般会先删除所有记录,再进行新的数据导入。可以使用DELETE语句删除所有记录,再用LOAD DATA添加数据。

综上所述,MySQL的LOAD DATA默认是追加数据,但可以通过设置参数来实现数据覆盖或忽略已有数据。在导入数据之前应该根据需求选择合适的参数,以达到最佳的效果。

标签:load,LOAD,name,DATA,MySQL,IGNORE,追加,mysql,数据
From: https://www.cnblogs.com/zhangq/p/18006685

相关文章

  • SpringBoot连接MySQL
    一、文件结构: 二、实体类packagecom.example.demo.domain;importjava.io.Serializable;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;importjavax.persistence.Table;......
  • mysql中grant all privileges on赋给用户远程权限方式
    GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'root'WITHGRANTOPTION;FLUSH PRIVILEGES;允许MySQL账户远程访问的优点和缺点如下:优点:远程管理:允许远程访问意味着管理员可以从任何地方管理MySQL数据库,提高了灵活性和便利性。分布式应用:对于分布式......
  • 【Docker】使用Docker部署MySQL
    ✨Docker本文介绍DockerDesktop以及docker命令行的简单使用DockerDesktop安装使用请查阅官方文档GetDocker|DockerDocumentation在Windows上安装DockersDesktop可参考【Docker】DockerDesktopforWindows(WSL2)安装-双份浓缩馥芮白-博客园(cnblogs.com)似乎......
  • 卸载centos源码安装的mysql
    关闭mysql查看安装的mysqlrpm-qa|grep-imysql卸载安装的mysqlrpm-evmysql-community-client-8.0.11-1.el7.x86_64--nodeps--nodeps强制卸载删除mysql相关目录whereismysqlfind/-namemysqlrm-rf目录rm命令文件一旦通过rm命令删除,则无法恢复;删除文件......
  • MySQL8.0.26安装部署
    一.安装1.下载安装包文件官网地址:https://www.mysql.com/下载地址:https://downloads.mysql.com/archives/installer/(注意:如果之前已经安装MySQL,需要卸载旧版MySQL,然后再安装此版本,卸载请参考我的“MySQL8.0.26卸载”文档)下载好安装包后,双击安装包,根据提示进行安装2.根据......
  • Docker安装mysql8
    1.下载mysql8镜像(版本根据自己选择:这里是8.0.20)dockerpullmysql:8.0.20 2.启动镜像dockerrun-p3307:3306--namemysql8-eMYSQL_ROOT_PASSWORD=123456-dmysql:8.0.20 参数注解 检查是否启动成功dockerps 3.配置挂载创建挂载目录(请检查保证创建成......
  • MYSQL回滚
     MSYQL回滚 STARTTRANSACTION;事务中执行的SQL语句COMMIT;ROLLBACK; 如果是默认提交回滚的话 showmasterstatus;  file是bin-log的名称  pos是事务节点  showbinlogeventsin'mysql-bin.001003';  查看事务事件 pos是开始  eng_log_......
  • java直连mysql操作数据
    连接器importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;/***@author:chenKeFeng*@date:2024/1/3010:21*/publicclassMySQLConnector{pri......
  • CTFer——文件操作与upload-labs解析
    一、什么是webshellwebshell就是以aspx、php、jsp等网页文件形式存在的一种命令环境也可以将其称为一种网页后门 黑客在入侵网站后,通常会将jsp、aspx或php后门文件与网站服务器web目录下正常的网页文件混在一起然后就可以使用浏览器来访问后门文件,得到一个命令执行环境,以达......
  • pid文件未生成:mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid en
    问题/usr/local/mysql/bin/mysqld_safe--defaults-file=/usr/local/mysql/conf/my.cnf--user=mysql该命令启动mysql时,未启动成功,终端输出下列报错:2024-02-03T02:56:51.449040Zmysqld_safeLoggingto'/usr/local/mysql/mysqllog/logfile/mysql-err.log'.2024-02-03T02:......