MariaDB体验2----CSV文件导入
之前已经安装好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文件导入的更多相关文章
- SQL Server:把CSV文件导入到SQL Server表中
有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候. 对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Server能够完成这个任务,岂不是更好! 对,SQL Ser ...
- 把CSV文件导入到SQL Server表中
保存数据库数据直接查询select * from tableName 在数据表格的左上角右击——将结果另存为选择路劲保存好的就是.csv格式的数据 有时候我们可能会把CSV中的数据导入到某个数据库的表 ...
- C# ASP.NET CSV文件导入数据库
原文:C# ASP.NET CSV文件导入数据库 using System; using System.Collections.Generic; using System.Text; using Sy ...
- [转]csv文件导入Mysql
本文转自:https://blog.csdn.net/quiet_girl/article/details/71436108 本篇博客主要讲将csv文件导入Mysql的方法(使用命令行). Step1 ...
- 将CSV文件导入到hive数据库
将csv文件导入hive后出现了所有的字段只显示在新建的表的第一个字段中,后面的字段全是null. 出现这种的原因是hive以行分隔数据,需要修改为按逗号' , ‘ 进行分隔读取, 具体操作如下, ...
- MySql csv文件导入导出
一.导出到csv(本地导出) 通过mysql客户端shell连接到服务器,选择使用的数据库,输入sql代码: select * from test_info into outfile '/tmp/te ...
- 2017年4月8日Office 365 使用CSV文件导入邮件组
国内版 第一步: Import-Module msonline Connect-MsolService 输入用户名密码 第二步: Get-MsolUser" 第三步: Set-Executi ...
- csv文件导入到mysql
如何将csv文件导入到mysql数据库呢,方法有很多但最简单粗暴的方法还是用sql语句啦,像下面这样. LOAD DATA LOCAL INFILE 'csv文件路径' INTO TABLE 数据表名 ...
- CSV文件导入导出MySQL
使用SQLyog 工具导入文件数据到MySQL: Excel文件导入导出: 需要驱动:Microsoft Office 2007驱动 导入需要注意的问题:1.Excel里数值列,默认导入会变成浮点型. ...
- Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...
随机推荐
- cloudstack下libvirtd服务无响应问题
在cloudstack4.5.2版本下,偶尔出现libvirtd服务无响应的情况,导致virsh命令无法使用,同时伴随cloudstack master丢失该slave主机连接的情况.最初怀疑是lib ...
- python-桶排序
桶排序 通排序非常浪费空间, 比如需要排序的范围在0~2000之间, 需要排序的数是[3,9,4,2000], 同样需要2001个空间 注意: 通排序不能排序小数 以下为从小到大代码实现 #!/usr ...
- 独立ip的优势
独立ip的建站优势 我想很多人都想知道,那我就在这里给大家简单介绍下独立ip的优势有那些. 网站设计是需要很多专业知识的结合,整站不是那么容易就可以设计完成的 ...
- java_弹球小游戏
弹球游戏实现原理: 隔一定时间(小于1秒)重新绘制图像,因为Graphics类是一个抽象类,创建子类的时候需要把所有涉及的方法都得重写,所以这里使用的是创建Canvas的子类,只需要重写它的paint ...
- oAuth 认证
这段时间公司开发项目用到oAuth2协议,现在做一下梳理. CORS即Cross Origin Resouce Share,跨域资源共享:是W3C为防止脚本攻击,而制定的安全标准之一,它云溪浏览器向跨 ...
- html5 textarea 文本框根据输入内容自适应高度
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ansible批量分发免密钥登陆python脚本
最近看了看强大的号称自动化运维的三大利器之一的--ansible,ok,亲测之后,确实感觉,对于我们这种DBA工作者来说,确实很受益. 值得注意的是ansible要求被管理服务器python版本不低于 ...
- com.mysql.jdbc.exceptions.MySQLSyntaxErrorException错误
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ...
- adb shell screenrecord命令行使用说明
一.查看帮助命令,参数 --help D:\>adb shell screenrecord --help Usage: screenrecord [options] <filename&g ...
- Java设计模式学习笔记,二:工厂模式
工厂模式,主要实现了创建者和调用者的分离. 分类:1.简单工厂模式:2.工厂方法模式:3.抽象工厂模式. 核心:实例化对象时,用工厂方法代替new操作. 一.简单工厂模式 也叫静态工厂模式,工厂类中实 ...