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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM