MySQL 导出到 outfile:CSV 转义字符

2023-11-29

我有一个带有一些常见字段的时间表数据库表。

id, client_id, project_id, task_id, description, time, date 

还有更多,但这就是要点。

我连夜将该表导出到 CSV 文件,以便为用户提供数据备份。它还可用作带有一些自定义报告的宏 Excel 文件的数据导入。

这一切都与我使用 php 循环遍历时间表并将行打印到文件中有关。

问题在于大型数据库可能需要几个小时才能运行,这是不可接受的。所以我用MySQL重写了它INTO OUTFILE命令,它将运行时间缩短到几秒钟,这非常棒。

现在的问题是我似乎无法转义描述字段中的所有换行符等。实际上,用户可以在此处键入任何字符组合,包括回车符/换行符。

这是我的 MySQL 代码片段:

SELECT id, 
       client,
       project,
       task,
       REPLACE(REPLACE(ifnull(ts.description,''),'\n',' '),'\r',' ') AS description, 
       time,
       date  
      INTO OUTFILE '/path/to/file.csv'
      FIELDS ESCAPED BY '""'
      TERMINATED BY ',' ENCLOSED BY '"'
      LINES TERMINATED BY '\n'
      FROM ....

But...

当我尝试查看输出文件的源时,文件中仍然存在换行符,因此 Excel 的 CSV 导入会破坏 Excel 向导创建的所有精美宏和数据透视表。

关于最佳行动方案有什么想法吗?


我认为你的陈述应该是这样的:

SELECT id, 
   client,
   project,
   task,
   description, 
   time,
   date  
  INTO OUTFILE '/path/to/file.csv'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM ts

主要是没有FIELDS ESCAPED BY '""'选项,OPTIONALLY ENCLOSED BY '"'可以解决描述字段等问题,并且您的数字将被视为 Excel 中的数字(不是由数字组成的字符串)

也可以尝试调用:

SET NAMES utf8;

在选择输出文件之前,这可能有助于内联字符编码(全部为 UTF8)

让我们知道您的身体情况如何。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 导出到 outfile:CSV 转义字符 的相关文章

  • Laravel 雄辩的 withCount() 应该比 with() 慢

    所以我问这个的原因是在我当前的应用程序中withCount 与仅通过以下方式获取关系的所有数据相比 响应时间几乎增加了三倍with 并只是从前端获取长度 javascript 我认为使用的要点withCount 是为了加快查询速度 但也许我
  • 选择表中的人员并排除妻子,但合并他们的名字

    我有一张桌子Person PersonID FirstName LastName 1 John Doe 2 Jane Doe 3 NoSpouse Morales 4 Jonathan Brand 5 Shiela Wife And a R
  • 如何在 SQL 中的时区中使用“America/New_York”

    我有这段代码在 SQL 中运行良好 但是我想使用不同的时区格式 例如 America New York 代替 US Eastern Standard Time SELECT TODATETIMEOFFSET CAST CURRENT TIM
  • 使用 SQLite 创建列表树

    我正在尝试使用 PHP 和 SQLite 表设置创建一个分层列表 如下所示 itemid parentid name 1 null Item1 2 null Item2 3 1 Item3 4 1 Item4 5 2 Item5
  • 导出 Azure SQL 数据库时出现错误 SQL71501

    导出 Azure SQL 数据库时出现奇怪的错误 导出一直工作正常 直到最近发生一些架构更改 但现在出现错误 SQL71501 该数据库是V12 兼容性级别130 尽管master数据库仍兼容级别 120 该问题似乎是由一个新的表值函数引起
  • SQL:使用相等的键和最近的键进行连接(类似于 Pandas 的合并)

    例如 我有2个这样的表 对于表 1 中的每一行 我想获取该行 same customer id and nearest date 就我而言 table2 date lt table1 date 结果应该是这样的 我怎样才能在 SQL 中做到
  • 如何让 mysql 输出 DateTime 到儒略日数?

    基本上我正在使用用于 Ruby 的 MySQL gem http www tmtm org en mysql ruby 并且我对日期比较没有合理的支持 这Mysql Time类只为我提供了访问器方法 如年 月 秒等 如果我可以将其转换为 R
  • 当行数 = 0 时删除 Excel 列中的单元格

    我试图删除电子表格中某一列中的所有单元格 0 并 召唤 不在该列顶部的值 我目前正在使用 Dim row index As Integer Dim col index As Integer row index 7 col index 16
  • Excel VBA - 循环文件夹中的文件、复制范围、粘贴到此工作簿中

    我有 500 个包含数据的 Excel 文件 我会将所有这些数据合并到一个文件中 实现此目标的任务列表 我想循环遍历文件夹中的所有文件 打开文件 复制此范围 B3 I102 将其粘贴到活动工作簿的第一张工作表中 重复但在下面粘贴新数据 我已
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • 在触发器中记录更新操作

    我有一个 UPDATE 触发器 它生成 INSERTED 和 DELETED 表 如下所示 INSERTED Id Name Surname 1 Stack Overflow 2 Luigi Saggese DELETED Id Name
  • SQL,帮助进行有关用户年龄的小查询

    我有一个包含注册用户的表 其中我将年份保存为 varchar 值 只是因为我只花了一年 我想创建包含年龄的饼图 以显示哪些用户更有可能注册 下面的查询给出了表中出现超过 5 次的用户年龄计数 以避免结果过小 虽然这些小结果低于 having
  • 如何授予用户访问 SQL Server 中的 sys.master_files 的权限?

    我需要授予数据库用户读取权限sys master files桌子 我怎样才能做到这一点 目前用户拥有以下权限 Calling SELECT on sys master files返回空结果 我还使用以下命令测试了相同的查询sa用户按预期工作
  • SQL 解析键值字符串

    我有一个像这样的逗号分隔字符串 key1 value1 key2 value2 key3 value3 key1 value1 1 key2 value2 1 key3 value3 1 我想将它解析成一个如下所示的表 Key1 Key2
  • 双击打开 Excel 工作簿时,Excel 2010 AddIn 未加载

    我为 Excel 2010 编写了一个加载项 如果我从 开始 菜单打开 Excel 它可以正常工作 但是 如果我双击 Excel 工作簿 则无法加载 AddIn 我签入了ThisAddIn cs 方法InternalStartup 没有参与
  • 如何用xlrd读取公式

    我正在尝试做一个解析器 它读取几个 Excel 文件 我通常需要位于行底部的值 您可以在其中找到所有上部元素的总和 因此 单元格值实际上是 sum 或 A5 0 5 可以说 对于使用 Excel 打开此文件的用户来说 它看起来像一个数字 这
  • 选择不带 FROM 但有多于一行的选择

    如何在不从现有表中进行选择的情况下生成 2 行 2 列的表 我正在寻找的是一个返回的选择语句 e g id value 1 103 2 556 Use UNION http dev mysql com doc refman 5 0 en u
  • MS-Access 查询中的语法错误(缺少运算符)

    以下查询给了我 missing operator 语法错误 所需的输出是表中数据的组合 dbo tbl 和意见 vw 我用过的所有钥匙都存在 有任何想法吗 SELECT dbo tbl BOD fpartno AS PartNumber d
  • 如何在一列中存储数组或多个值

    运行 Postgres 7 4 是的 我们正在升级 我需要将 1 到 100 个选定项目存储到数据库的一个字段中 98 的情况下 只会输入 1 个项目 而 2 的情况下 如果是这样的话 会输入多个项目 这些项目只不过是文本描述 截至目前 长
  • 用于将 MS Word 表导出到 Excel 工作表的宏

    我有一个包含许多表格的word文档 有谁知道如何编写宏将此类表导出到不同的 Excel 工作表 答案摘自 http www mrexcel com forum showthread php t 36875 http www mrexcel

随机推荐

  • 快速加权散点矩阵计算

    六个月前在这个问题中 jez 很好地帮助我提出了行差异外积的快速近似 即 K np zeros len X len X for i Xi in enumerate X for j Xj in enumerate X dij Xi Xj K
  • 如何在 Python 2.5 中检查类相等性?

    我浏览了 Python 2 5 文档 但找不到答案 How do I check if an object is the same class as another object def IsClass obj1 obj2 return o
  • Java 可以在不改变活动窗口的情况下显示对话框吗?

    我想在上面显示一个模式 进度 对话框Frame 即使那样Frame不是活动窗口 但是 显示对话框会导致该对话框或其所有者成为活动窗口 有没有一种方法可以显示对话框而不使其或其所有者成为活动窗口 特别是在 Windows 平台上 我想这样做的
  • 在 Spring MVC 应用程序中实现 Swagger 的“简单”方法

    我有一个用简单的 Spring 编写的 ReSTFul API 没有 Spring Boot 没有花哨的东西 我需要在其中实现 Swagger 到目前为止 互联网上的每个页面都让我抓狂 因为令人困惑的配置和臃肿的代码我根本找不到可移植性 有
  • ios13 防止下拉滚动到顶部的 tableView 来消除表单样式模态呈现的 viewController [重复]

    这个问题在这里已经有答案了 我有一个 tableViewController 它以默认的工作表样式呈现方式呈现 我想保留这种模式风格 因为它看起来不错并且在我的应用程序中运行良好 我喜欢下拉导航栏时的关闭 然而 我不想要的是下拉 table
  • 在snakemake规则的日志部分中定义的文件与在输出部分中定义的文件有很大不同吗?

    我认为的文档log蛇形规则的一部分 必须 手动 将内容发送到日志文件 在我看来 使用中定义的文件可以获得相同的结果output部分 这两种可能的方法之间的重要区别是什么 其真正的用处是什么log部分 对我来说 日志的最佳实践是 Snakem
  • 找到修剪周围空白的 svg viewbox

    假设我有一个绘制一些路径的 svg 我应该使用什么工具来找到一个完全适合这些路径的视图框 以便修剪周围的所有冗余空间 您只需将 svg 的 viewBox 设置为其边界框即可 function setViewbox svg var bB s
  • 如何设置像表格一样的选择选项样式?

    我有一个表单选择下拉菜单 我想格式化选项的内部文本 每个选项都有月份 年份和标题 我希望每个人都能相互协调 我尝试在选项元素内放置一个表格 看看是否可以强制它 但失败了 我尝试使用不间断空格 但也失败了 我相信是因为字母的字体系列样式 这是
  • Dockerfile 中的 VOLUME 是否在 kubernetes 中持久存在

    一些 Dockerfile 有一个VOLUME命令 当此类容器部署在 Kubernetes 中 但没有提供 kubernetes 卷 没有持久卷 PV 或持久卷声明 PVC 时 会发生什么情况 文件存储在哪里 音量是否持续 例如 Docke
  • (Java) Runtime.exec 中的文件重定向(双向)?

    我想执行这个命令 ceplinux work3 myName opt myCompany ourProduct bin EXECUTE THIS p cepamd64linux myCompany com 19021 ws1 project
  • 如何在开源 IDE (codelite) 中迁移到 C++ 11 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我在Ubuntu QQ上使用CodeLite 5 1 默认情况下 根据之前安装的QQ等工
  • javascript 中数字数组的迭代返回字符串

    Why for i in 1 2 3 console log typeof i i 给出这个 Log string 0 Log string 1 Log string 2 我已经预料到了数字 Safari 7 0 9537 71 Mac O
  • Android:如何将页脚添加到全屏滚动视图?

    我希望页脚锚定在屏幕底部当且仅当它可以锚定在那里而不与任何其他视图重叠时 问题是我不知道有多少视图将添加到页眉或页脚 如果将页脚放在窗口底部会使其重叠 我想将页脚放在滚动视图的底部 也许可以将它添加到RelativeLayout中 并遵循它
  • 访问财产“文档”的权限被拒绝[重复]

    这个问题在这里已经有答案了 我在那里使用以下脚本 在我的页面上形成此脚本添加 iframe 我想获取 iframe html 问题是 iframe 中有内部 iframe Javascript 以下函数用于获取 iframe 的内容 doc
  • 在Python中使用运算符进行加法

    考虑 operator add a b 我无法理解这是做什么的 运算符类似于 那么什么是operator add a b 你会如何在程序中使用它 运算符功能让您可以选择操作动态地 他们和操作员做同样的事情 所以operator add a
  • Springboot swagger 与 JsonView

    可以将 swagger 与 JsonView 我有一个我使用的模型 JsonView只返回几个字段 但是swagger ui显示孔模型 这是我的模型 public class Intimacao extends EntityBase Emb
  • 使用 CSS/Javascript 将文本字段中的文本更改为点

    有没有一种方法可以 屏蔽 文本字段的输入 使其像密码字段一样 显示点而不是文本 而无需将文本框设置为密码类型 与 JavaScript 相比 我们更喜欢 CSS 有任何想法吗 这可能是您正在寻找的答案 webkit text securit
  • 操作系统时区更改tomcat需要重新启动

    我的 Web 应用程序在 Apache Tomcat 7 0 上运行 我们调用 java util calendar 来获取服务器日期时间 问题是 如果系统时区发生更改 java 日历将继续以 旧 时区的日期时间运行 Tomcat使用的JD
  • PHP 缓存控制似乎不起作用

    请看一下我的网站 vynora 事情还没有完成 我在 HTML 页面的顶部放置了一个 PHP 标头 当我访问 Google 的 pagespeed 时 它告诉我应该优化浏览器缓存 请看一下 谷歌页面速度 但我已经使用 PHP 做到了 那么这
  • MySQL 导出到 outfile:CSV 转义字符

    我有一个带有一些常见字段的时间表数据库表 id client id project id task id description time date 还有更多 但这就是要点 我连夜将该表导出到 CSV 文件 以便为用户提供数据备份 它还可用