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