【MySQL】记录MySQL加载数据(LOAD DATA)

news2024/9/23 5:30:51

MySQL LOAD DATA

  • 一、背景
  • 二、模拟生成用户信息
  • 三、加载到mysql表
    • 3.1、建表语句
    • 3.2 加载数据
    • 3.3、查看结果

一、背景

现在有个需求是将用户信息存入student.data文件中,在现在load到数据库中

二、模拟生成用户信息

假设用户信息,包含姓名,性别,年龄,分数,创建时间,更新时间,逻辑删除等字段,现模拟数据生成,代码如下:

// 方法用于写入数据到文件
    public static void writeDataToFile(String filePath, String name, String gender, int age, double score, LocalDateTime createdDate, LocalDateTime updatedDate, boolean isDeleted) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 使用三元运算符确保布尔值被转换为整数 (0 或 1)
        String data = String.format("%s,%s,%d,%.2f,%s,%s,%d",
                name, gender, age, score,
                createdDate.format(formatter),
                updatedDate.format(formatter),
                isDeleted ? 1 : 0);

        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, true))) {
            writer.write(data);
            writer.newLine(); // 写入新行
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        String filePath = "D:\\document\\test\\data\\student.data";

        // 示例数据
        writeDataToFile(filePath, "张三", "男", 20, 88.5, LocalDateTime.now(), LocalDateTime.now(), false);
        writeDataToFile(filePath, "李四", "女", 22, 92.0, LocalDateTime.now(), LocalDateTime.now(), false);
        writeDataToFile(filePath, "王五", "男", 21, 75.0, LocalDateTime.now(), LocalDateTime.now(), true);
    }

代码还是比较简单,没有什么难点,运行后生成的student.data数据如下图所示,有点类似于csv文件

在这里插入图片描述

三、加载到mysql表

3.1、建表语句

DROP TABLE IF EXISTS student_info;
CREATE TABLE student_info (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    gender VARCHAR(10) NOT NULL,
    age INT NOT NULL,
    score DECIMAL(5, 2) NOT NULL,
    created_date DATETIME NOT NULL,
    updated_date DATETIME NOT NULL,
    is_deleted TINYINT(1) NOT NULL DEFAULT 0
);

3.2 加载数据

LOAD DATA INFILE 'D:/document/test/data/log.data'
INTO TABLE student_info
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(name, gender, age, score, created_date, updated_date, is_deleted);

LOAD DATA INFILE ‘D:/document/test/data/log.data’:指定要从哪个文件加载数据。这个文件路径是本地文件系统中的路径。
注意:确保 MySQL 服务器有权限访问此文件路径,并且路径的分隔符(如 \ 和 /)适合所使用的操作系统。

FIELDS TERMINATED BY ‘,’:定义字段之间的分隔符。在这个例子中,字段是由逗号(,)分隔的。

ENCLOSED BY ’ " ':定义字段值的引号字符。在这个例子中,字段值是由双引号(")括起来的。例如,如果字段值是 “value”,则会包括引号。

LINES TERMINATED BY ‘\n’ :定义每行数据的结束符。在这个例子中,每行数据以换行符(\n)结束。不同操作系统可能使用不同的行结束符(例如 Windows 使用 \r\n)。

(name, gender, age, score, created_date, updated_date, is_deleted):指定文件中每行数据的字段顺序,表明数据将被加载到表中的哪个列中。这里假设数据文件的每一行按照这个顺序排列。

注意:
如果加载数据时,报错:1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement,这说明mysql没有这个文件夹的读取权限,打开mysql的配置文件,windows下是my.ini

添加如下配置

secure_file_priv="D:/document/test/data/"

在这里插入图片描述

3.3、查看结果

SELECT * from student_info

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1950609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用PyTorch导出JIT模型:C++ API与libtorch实战

PyTorch导出JIT模型并用C API libtorch调用 本文将介绍如何将一个 PyTorch 模型导出为 JIT 模型并用 PyTorch 的 CAPI libtorch运行这个模型。 Step1:导出模型 首先我们进行第一步,用 Python API 来导出模型,由于本文的重点是在后面的部署…

AR 眼镜之-蓝牙电话-实现方案

目录 📂 前言 AR 眼镜系统版本 蓝牙电话 来电铃声 1. 🔱 技术方案 1.1 结构框图 1.2 方案介绍 1.3 实现方案 步骤一:屏蔽原生蓝牙电话相关功能 步骤二:自定义蓝牙电话实现 2. 💠 屏蔽原生蓝牙电话相关功能 …

深入解读 Java 中的 `StringUtils.isNotBlank` 与 `StringUtils.isNotEmpty`

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

【支持语言模型和视觉语言模型的推理引擎sglang】

介绍 sglang是一个AI推理引擎,是一个专门为大语言模型和视觉语言模型设计的高效服务框架。 就像F1赛车需要顶级发动机一样,大语言模型也需要高效的推理引擎来发挥潜力。 而sglang正是这样一个性能怪兽。 根据LMSys组织的官方公告,最新的s…

Docker(十)-Docker运行elasticsearch7.4.2容器实例以及分词器相关的配置

1.下载镜像 1.1存储和检索数据 docker pull elasticsearch:7.4.2 1.2可视化检索数据 docker pull kibana:7.4.22.创建elasticsearch实例 创建本地挂载数据卷配置目录 mkdir -p /software/elasticsearch/config 创建本地挂载数据卷数据目录 mkdir -p /software/elasticse…

【React】JSX:从基础语法到高级用法的深入解析

文章目录 一、什么是 JSX?1. 基础语法2. 嵌入表达式3. 使用属性4. JSX 是表达式 二、JSX 的注意事项1. 必须包含在单个父元素内2. JSX 中的注释3. 避免注入攻击 三、JSX 的高级用法1. 条件渲染2. 列表渲染3. 内联样式4. 函数作为子组件 四、最佳实践 在 React 开发中…

20240724----idea的Java环境卸载与安装

1.删除旧有的jdk https://blog.csdn.net/weixin_42168713/article/details/112162099 (补充:我把用户变量和java有关的都删了) 2.下载新的jdk百度网盘链接 链接:https://pan.baidu.com/s/1gkuLoxBuRAtIB1IzUTmfyQ 提取码&#xf…

第二代欧洲结构设计标准简介

文章目录 0、背景1、总览2、更新及变化2.1 抗震2.2 地基基础2.3 防火 0、背景 本篇文章来自微信公众号土木吧,原作者李立昌(北京鑫美格工程设计有限公司)。对原文感兴趣的可以点击这里。 新的欧标滚滚而来,提前做好准备很有必要…

人工智能视频大模型:重塑视频处理与理解的未来

目录 一、人工智能视频大模型概述 1.1 定义与特点 1.2 技术基础 二、关键技术解析 2.1 视频特征提取 2.2 时空建模 2.3 多任务学习 三、应用场景展望 3.1 视频内容分析 3.2 视频编辑与生成 3.3 交互式视频体验 四、未来发展趋势 4.1 模型轻量化与移动端部署 4.2 …

前端面试项目细节重难点分享(十三)

面试题提问:分享你最近做的这个项目,并讲讲该项目的重难点? 答:最近这个项目是一个二次迭代开发项目,迭代周期一年,在做这些任务需求时,确实有很多值得分享的印象深刻的点,我讲讲下面…

【C语言】队列的实现(数据结构)

前言: 相信大家在生活中经常排队买东西,今天学习的队列就跟排队买东西一样,先来买的人就买完先走,也就是先进先出。废话不多说,进入咱们今天的学习吧。 目录 前言: 队列的概念 队列的实现 队列的定义 …

【8月EI会议推荐】第四届区块链技术与信息安全国际会议

一、会议信息 大会官网:http://www.bctis.nhttp://www.icbdsme.org/ 官方邮箱:icbctis126.com 组委会联系人:杨老师 19911536763 支持单位:中原工学院、西安工程大学、齐鲁工业大学(山东省科学院)、澳门…

git 学习总结

文章目录 一、 git 基础操作1、工作区2、暂存区3、本地仓库4、远程仓库 二、git 的本质三、分支git 命令总结 作者: baron 一、 git 基础操作 如图所示 git 总共有几个区域 工作区, 暂存区, 本地仓库, 远程仓库. 1、工作区 存放项目代码的地方,他有两种状态 Unm…

RK3588+MIPI+GMSL+AI摄像机:自动车载4/8通道GMSL采集/边缘计算盒解决方案

RK3588作为目前市面能买到的最强国产SOC,有强大的硬件配置。在智能汽车飞速发展,对图像数据矿场要求越来越多的环境下,如何高效采集数据,或者运行AI应用,成为刚需。 推出的4/8通道GMSL采集/边缘计算盒产品满足这些需求…

MinIO存储桶通知 - Kafka小测

概述 公司的某个项目需要用上这玩意,所以在本地搭建测试环境,经过一番折腾,测试通过,博文记录,用以备忘 MinIO安装 该节不做说明,网络有很多现成的帖子,自行搜索去 配置步骤 控制台添加事件…

瑞芯微芯片资料中关于图像处理相关的知识点

目录 MPI层模块介绍IPC的应用像素格式排布系统绑定API接口 MPI层 文件:Rockchip_Developer_Guide_MPI.pdf RK MPI:Rockchip Media Process Interface,媒体处理接口。 模块介绍 RK MPI层的模块介绍: IPC的应用 VI 模块捕获视频…

工业三防平板电脑助力工厂产线管理的智能化转型

在当今高度数字化和智能化的工业时代,工厂产线管理正经历着前所未有的变革。其中,工业三防平板电脑作为一种创新的技术工具,正发挥着日益重要的作用,有力地推动着工厂产线管理向智能化转型。 一、工业三防平板电脑具有出色的防水、…

微信小程序-本地部署(前端)

遇到问题:因为是游客模式所以不能修改appID. 参考链接:微信开发者工具如何从游客模式切换为开发者模式?_微信开发者工具如何修改游客模式-CSDN博客 其余参考:Ego微商项目部署(小程序项目)(全网…

大语言模型是什么,该如何去学习呢

什么是 LLM**?** LLM(大型语言模型, Large Lanage Modle)是一种计算机程序,它可以理解和生成类似人类的文本;它能够像我们人类一样阅读、写作和理解语言。你可以把它想象成一个超级聪明的博学的不知疲惫的24小时全年无休的助手。…

使用代理IP进行本地SEO优化:如何吸引附近的客户?

在今天竞争激烈的互联网时代,如何利用代理IP进行本地SEO优化并吸引附近的客户已经成为许多企业和网站面临的关键挑战。本文将探讨使用代理IP的策略和技巧,以帮助公司提高在本地市场的可见性和吸引力,从而扩大本地客户群体。 1. 代理IP在本地…