之前已经安装好MariaDB,现在需要将一份从Sql Server数据库里面导出的CSV文件导入进MariaDB,期间碰到了各种坑,这里记录一下。

  HeidiSQL的导入CSV文件的地方在“工具”栏,也可以直接点击如下按钮。

  点击之后,就弹出如下对话框。

坑1:MariaDB导入CSV文件,要自己建表,建表字段

  因为用惯了Sql Server数据库,Sql Server导入Excel之类的文件都是系统默认sheet名为表名,Excel第一行为表字段名。所以这一点感觉MariaDB特别坑,幸亏才10几个字段。

坑2:导入数据格式不对

  具体错误提示,如下图。

  这个提示牛了,没见过,百度一下。“Incorrect string value: '\xC9\xCF\xBA\xA3,\xC5...' for column 'city' at row 1”。发现大部分人提示说是因为数据库的编码不是UTF8引起的。尝试修改编码为UTF8试试。

alter table positions default character set utf8;

  然后查看一下该表的创建语句,

 show create table positions;

 CREATE TABLE `positions` (
`city` varchar(500) DEFAULT NULL,
`companyFullName` varchar(1000) DEFAULT NULL,
`companyId` int(11) DEFAULT NULL,
`companyLabelList` varchar(500) DEFAULT NULL,
`companyShortName` varchar(200) DEFAULT NULL,
`companySize` varchar(200) DEFAULT NULL,
`businessZones` varchar(500) DEFAULT NULL,
`firstType` varchar(200) DEFAULT NULL,
`secondType` varchar(200) DEFAULT NULL,
`education` varchar(50) DEFAULT NULL,
`industryField` varchar(50) DEFAULT NULL,
`positionId` int(11) NOT NULL,
`positionAdvantage` varchar(500) DEFAULT NULL,
`positionName` varchar(500) DEFAULT NULL,
`positionLables` varchar(500) DEFAULT NULL,
`salary` varchar(50) DEFAULT NULL,
`workYear` varchar(50) DEFAULT NULL,
PRIMARY KEY (`positionId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='职位表'

  OK,没问题了,编码对了,再次导入,又报错了。

坑3:表字段与CSV文件要导入的字段数量不对

  改完第二步,接着继续导入,又报错了。

  “Row 1 doesn't contain data for all columns”,从英文描述来看,说的是行1没有包含所有列数据。开始有点理解是什么意思,搜了一下百度,才发现表里面的字段只有16个,但CSV文件里面的列却有17个。不知道在创建字段的时候是怎么创建的,竟然少了个字段。修改之后继续导入,这次导入成功了。一看数据,怎么只有一条!!!

坑4:字段分隔符

  HeidiSQL在导入文件的时候,默认使用的分隔符为“;”,而CSV文件字段之间的分隔符为“,”,所以所有的数据都导入到一个字段里面去了。

  字段分隔符需要修改成“,”,另外需要注意行分隔符是不是“\r\n”。“\r\n”的含义就是回车换行。还可以选择导入前是不是要清空目标表等条件。导入完成之后查一下数据,OK,数据正确。

  CSV数据导入结束,搞了快2个小时,好歹成功导入数据了。下一篇写啥呢?暂定写图表的运用或者概率和统计吧。曾经的我,数学那是刚刚的,现在有点小后悔,为什么大学的时候没有报数学专业呢?现在想重新把概率和统计、高等数学、线性代数捡起来,感觉困难重重啊。

MariaDB体验2----CSV文件导入的更多相关文章

  1. SQL Server:把CSV文件导入到SQL Server表中

    有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候. 对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Server能够完成这个任务,岂不是更好! 对,SQL Ser ...

  2. 把CSV文件导入到SQL Server表中

    保存数据库数据直接查询select * from tableName 在数据表格的左上角右击——将结果另存为选择路劲保存好的就是.csv格式的数据 有时候我们可能会把CSV中的数据导入到某个数据库的表 ...

  3. C# ASP.NET CSV文件导入数据库

    原文:C# ASP.NET CSV文件导入数据库 using System; using System.Collections.Generic; using System.Text; using Sy ...

  4. [转]csv文件导入Mysql

    本文转自:https://blog.csdn.net/quiet_girl/article/details/71436108 本篇博客主要讲将csv文件导入Mysql的方法(使用命令行). Step1 ...

  5. 将CSV文件导入到hive数据库

    将csv文件导入hive后出现了所有的字段只显示在新建的表的第一个字段中,后面的字段全是null. 出现这种的原因是hive以行分隔数据,需要修改为按逗号'  ,  ‘ 进行分隔读取, 具体操作如下, ...

  6. MySql csv文件导入导出

    一.导出到csv(本地导出) 通过mysql客户端shell连接到服务器,选择使用的数据库,输入sql代码: select * from test_info into outfile '/tmp/te ...

  7. 2017年4月8日Office 365 使用CSV文件导入邮件组

    国内版 第一步: Import-Module msonline Connect-MsolService 输入用户名密码 第二步: Get-MsolUser" 第三步: Set-Executi ...

  8. csv文件导入到mysql

    如何将csv文件导入到mysql数据库呢,方法有很多但最简单粗暴的方法还是用sql语句啦,像下面这样. LOAD DATA LOCAL INFILE 'csv文件路径' INTO TABLE 数据表名 ...

  9. CSV文件导入导出MySQL

    使用SQLyog 工具导入文件数据到MySQL: Excel文件导入导出: 需要驱动:Microsoft Office 2007驱动 导入需要注意的问题:1.Excel里数值列,默认导入会变成浮点型. ...

  10. Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...

随机推荐

  1. Unity Shader入门精要读书笔记(一)序章

    本系列的博文是笔者读<Unity Shader入门精要>的读书笔记,这本书的章节框架是: 第一章:着手准备. 第二章:GPU流水线. 第三章:Shader基本语法. 第四章:Shader数 ...

  2. Azure 认知服务 (5) 计算机视觉API - 使用C#代码实现读取图片中的文字(OCR)功能

    <Windows Azure Platform 系列文章目录> 在笔者之前的文章:Azure 认知服务 (4) 计算机视觉API - 读取图片中的文字 (OCR) 介绍了使用用户界面,在海 ...

  3. sybase数据库和oracle数据库中字段中含有换行符的解决办法

    最近在做数据库从sybase到oracle的迁移工作,sybase数据库表bcp导出后,通过sqlldr导入到oracle数据库,然后oracle数据库通过spool按照sybase数据库bcp的格式 ...

  4. storm从入门到放弃(三),放弃使用《StreamId》特性。

    序:StreamId是storm中实现DAG有向无环图的重要一个特性,但是从实际生产环境来看,这个功能其实蛮影响生产环境的稳定性的,我们系统在迭代时会带来整体服务的不可用. StreamId是stor ...

  5. [技术]浅谈c++ this指针

    背景 matrix operator*=(const matrix &a){ *this=*this*a; return *this; } XXX:诶,你这个*this是什么啊,是指针吗 博主 ...

  6. XRD 数据处理:使用 Origin 进行多谱图对比

    如果一个实验制备了 4 种不同条件下的样品,并分别测得了它们的 XRD 衍射谱图,那么在数据处理中如何用 Origin 软件得到一张多谱图对比的图呢? 样品间的谱图对比 如果只是谱图样品间对比(以 4 ...

  7. efcore 配置链接sqlserver 记录

    本文将在asp.net core api 项目中使用efcore corefirst模式 简单配置链接sqlserver数据库,以及简单的数据库迁移操作 一 新建项目 1. 首先我们先用vs2017 ...

  8. swift UITapGestureRecognizer获取点击事件点击的位置point

    func picTap(sender: UITapGestureRecognizer) { let point = sender.location(in: sender.view) } 其中获取的po ...

  9. C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 一点感想 很意外的,第一 ...

  10. JSONP 爬虫

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.mavne 依赖: <!--html 解析 : jsoup HTML parser library @ ...