Mysql导入csv文件

时间:2019-11-27
本文章向大家介绍Mysql导入csv文件,主要包括Mysql导入csv文件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Step1:csv文件的准备


1、首先看一下我本次导入的数据,比较简单;

(1)在数据库中首先建立了一个名为“honeypot”的数据库,在honeypot数据库下建立了一个名为“score”的表格,表格属性如下:

(2)csv文件的存储内容如下,命名为score1.csv

(如果是已知EXCEL文件,则将文件另存为.csv文件即可,千万不要直接改变文件的后缀名

(3)这一步很重要:验证.csv编码格式是否正确,务必保证导入数据的编码格式是ANSI编码格式

使用Notepad++打开score1.csv,若编码格式不正确,改变编码格式,如下图:

Step2:数据的导入


第一种情况:导入部分不包含中文字体

打开Mysql命令窗口,输入密码

(1)查询已有数据库,使用命令

show databases;

honeypot便是之前建立的数据库。

(2)使用这个数据库,使用命令

   use honeypot;
(3)查询我们之前建立的表格student是否在test数据库中,使用命令

show tables;

(4)使用下面的命令将score1.csv导入mysql:

 成功!

第二种情况:导入数据包含中文字体

只需要将上述导入不包含中文的情况中的导入sql语句变成(加入编码格式)

可能出现的问题及解决方案:

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’。

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

在我们安装完 MySQL 之后,会自动生成一个名为my.ini的配置文件,该文件记录了 MySQL 的所有默认配置,如端口号、默认字符集、默认存储引擎等等。而这个配置文件,则位于隐藏文件夹ProgramData中。

而 MySQL 默认的值为: secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"。

Method: 这个错误网上有一些其他的解决办法,但是我嫌麻烦,我的做法是直接把数据放到默认路径中,即"C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"。


————————————————
参考:https://blog.csdn.net/quiet_girl/article/details/71436108

原文地址:https://www.cnblogs.com/wt869054461/p/11943061.html