[转]csv文件导入Mysql
本文转自:https://blog.csdn.net/quiet_girl/article/details/71436108
本篇博客主要讲将csv文件导入Mysql的方法(使用命令行)。
Step1:csv文件的准备
1、首先看一下我本次导入的数据,比较简单;
(1)在数据库中首先建立了一个名为“test”的数据库,在test数据库下建立了一个名为“student”的表格,表格属性如下:
| column name | datatype | Note |
| id | INT(11) | Primary Key, Not Null |
| name | VARCHAR(45) | |
| password | VARCHAR(45) |
(2)csv文件的存储内容如下,命名为test1.csv,存储位置:“F:/MySqlData/test1.csv”:
(如果是已知EXCEL文件,则将文件另存为.csv文件即可,千万不要直接改变文件的后缀名)
(3)这一步很重要:验证.csv编码格式是否正确,务必保证导入数据的编码格式是ANSI编码格式
使用Notepad++打开test1.csv,若编码格式不正确,改变编码格式,如下图:
Step2:数据的导入
第一种情况:导入部分不包含中文字体
打开Mysql命令窗口,输入密码
(1)查询已有数据库,使用命令
- show databases;
show databases;
执行结果如下图:
test便是之前建立的数据库。
(2)使用这个数据库,使用命令
- use test;
use test;
(3)查询我们之前建立的表格student是否在test数据库中,使用命令
- show tables;
show tables;
结果如下图:
(4)使用下面的命令将test1.csv导入mysql:
- load data infile 'F:/MySqlData/test1.csv' --CSV文件存放路径
- into table student--要将数据导入的表名
- fields terminated by ',' optionally enclosed by '"' escaped by '"'
- lines terminated by '\r\n';
load data infile 'F:/MySqlData/test1.csv' --CSV文件存放路径
into table student--要将数据导入的表名
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
执行结果如下图,使用select * from student;查看已导入的数据:
第二种情况:导入数据包含中文字体
只需要将上述导入不包含中文的情况中的导入sql语句变成(加入编码格式)
- load data infile 'F:/MySqlData/test1.csv' --CSV文件存放路径
- into table student character set gb2312 --要将数据导入的表名
- fields terminated by ',' optionally enclosed by '"' escaped by '"'
- lines terminated by '\r\n';
load data infile 'F:/MySqlData/test1.csv' --CSV文件存放路径
into table student character set gb2312 --要将数据导入的表名
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
结果如下图:
可能出现的问题及解决方案:
Error 1261(01000):Row XX doesn't contain data for all columns
Method:本错误信息提示第XX行数据不足,查看你数据库表中建立的字段和数据中提供的字段数目是否相同,只有二者数目一致,才可以导入。
Error 1366(HY000):Incorrect string value: '\x95F\xBE\xF4\xC6\xFB...' for column 'enterprise' at row XX
Method:本错误信息提示第XX行‘enterprise’字段出现不正确的字符,查找之后发现我在这个字段的数据含有2个比较复杂的汉字“旻爵”,可能无法识别,把这2个字去掉之后这个错误便消失了。
Error 1366(HY000):Incorrect integer value: ' ' for column 'money' at row XX
Method:本错误信息提示第XX行出现不正确的int值,可能原因是数据库“money”字段定义的数据类型是int型,而数据中存储的却不是int型(可能是double型、float型之类的)--这种情况一般是数据类型出现不一致的问题。
Error 1265(01000):Data truncated for column 'money' at row XX
Method:本错误信息提示第XX行数据被截断,可能原因是数据库中‘money’字段是double型或者float型,但是数据文件中可能存在null值,即这个数据值可能是不存在的,解决方案是将这个缺失的字段补‘0’。
[转]csv文件导入Mysql的更多相关文章
- 【MySQL】CSV 文件导入MySQL
此问题是前几天整理数据的时候碰到的,数据存在 CSV文件中(200多万记录),通过python 往数据库中导入太慢了,后来使用MySQL 中自带的命令 LOAD DATA INFILE, 30多秒就能 ...
- 使用pandas导入csv文件到MySQL
之前尝试过用命令行来解决csv文件导入到MySQL这个问题,没想到一直没有成功.之后会继续更新的吧,现在先用pandas来解决这个问题,虽然会复杂一点,但至少能用. 例子是导入movielens的ra ...
- MySql csv文件导入导出
一.导出到csv(本地导出) 通过mysql客户端shell连接到服务器,选择使用的数据库,输入sql代码: select * from test_info into outfile '/tmp/te ...
- csv文件导入到mysql
如何将csv文件导入到mysql数据库呢,方法有很多但最简单粗暴的方法还是用sql语句啦,像下面这样. LOAD DATA LOCAL INFILE 'csv文件路径' INTO TABLE 数据表名 ...
- CSV文件导入导出MySQL
使用SQLyog 工具导入文件数据到MySQL: Excel文件导入导出: 需要驱动:Microsoft Office 2007驱动 导入需要注意的问题:1.Excel里数值列,默认导入会变成浮点型. ...
- csv批量导入mysql命令
今天把从Kaggle上下载下来的csv数据导入mysql,想做个统计分析,怎奈csv文件有些大.所以仅仅能用mysql 命令导入,现mark下,以备以后不时之需: 1. 导入: 基本的语法: load ...
- 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 ...
随机推荐
- AlexNet详解
在imagenet上的图像分类challenge上Alex提出的alexnet网络结构模型赢得了2012届的冠军.要研究CNN类型DL网络模型在图像分类上的应用,就逃不开研究alexnet,这是CNN ...
- ReLU 和sigmoid 函数对比
详细对比请查看:http://www.zhihu.com/question/29021768/answer/43517930 . 激活函数的作用: 是为了增加神经网络模型的非线性.否则你想想,没有激活 ...
- ue4开发入门教程
ue4是一套开源跨平台的游戏引擎,游戏画质3A水准,具有强大的材质编辑器,各种插件齐全.想要学习ue4的,可以参考这篇文章作为入门. 学习这篇文章,建议具有一定的C++基础,对游戏有一定了解. 1.首 ...
- 剑指offer编程题Java实现——面试题4替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. package Solution; ...
- [leetcode.com]算法题目 - Jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- 正则表达式中 re.match与re.search的区别
标签: 本文和大家分享的主要是python正则表达式中re.match函数与re.search方法的相关用法及异同点,希望通过本文的分享,能对大家有所帮助. re.match函数 re.match 尝 ...
- InfluxDB配置文件详解
全局配置 # 该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false reporting-disabled = false # 备份恢复时使用,默认值为8088 bin ...
- Swift 里 Set (三)Inspecting a Set
isEmpty /// A Boolean value that indicates whether the set is empty. @inlinable public var isEmpty: ...
- 无图形界面安装CentOS
有些插在ATCA中的x86刀片虽然是提供了Micro HDMI显示接口的,但是可能由于厂家出于节省成本的考量,没有给板卡配备显卡,那么在无图形界面下安装系统,就成为一个运维人员应知的一件事情.这里我们 ...
- POJ 2643
#include<iostream> #include<stdio.h> #include<string> #include<algorithm> #d ...