首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中导入数据是什么意思?

在mysql中导入数据是什么意思?
EN

Stack Overflow用户
提问于 2018-05-22 16:41:51
回答 1查看 830关注 0票数 0

有人给我发了一个xlsx excel文件,我用excel打开它,用utf8编码保存为csv。

我使用mysql工作台导入向导将excel制作的utf8 csv文件导入到数据库表中。但是导入的结果漏掉了一些数据(比它应该得到的要少)。

我认为这与商城有关。

默认情况下,商城是双引号,但我有这样的数据(混合单引号和双引号):

  • 8'10“foo bar
  • 4“x6”foo foo bar

我试图省略这个值,但它不能(见图中的错误)。

所以我想弄清楚:

  1. 在这里,quotechar是什么意思?它怎麽工作?为什么这很重要?它不能从csv文件导入所有东西吗?
  2. 当我的数据混合单引号和双引号时,如何正确地导入数据(稍后我需要检索它们并使用它们作为搜索关键字,所以最好保留原始表单)?

我的数据在excel中如下所示:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-22 17:08:56

我想,您将以CSV的形式从Excel导出数据,因此在Excel中的情况与此无关。

当您以CSV格式从excel导出数据时,它将将数据封装在双引号中。数据本身中的任何双引号都将由excel自动转义第二个双引号。

例如,如果您的数据是:

代码语言:javascript
复制
 8"

当您导出时,它将是:

代码语言:javascript
复制
 "8"""

您必须告诉Mysql,您在字符"中包含字符串。这就是它所说的quotechar。这是你填写的表格上的第二个字段。

我不知道MySQl会有多挑剔,因为我还没有将CSV永远地、永远地、永远地导入Mysql。Excel输出的诀窍是,如果您有如下数据:

代码语言:javascript
复制
8"
8'

它将以CSV的形式输出:

代码语言:javascript
复制
"8"""
8'

第二个记录/字段不会获得双引号封装,因为它不包含需要封装的字符(双引号、回车或行提要)。

Mysql可能会被第二条记录阻塞(希望它的导入过程足够健壮,可以处理封装和非封装的字段)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50472683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档