導入大csv文件到mysql(CSV導入)

本文目錄一覽:

如何將一張500M的csv格式的表格快速導入到mysql中

由於工作需要,經常需要將mysql資料庫中的數據導出到excel表格,或者需要將excel表格數據導入到mysql資料庫,我的方法是先將它們都轉換成一種中間數據格式csv(execl數據可以直接導出為csv格式,csv格式也可以直接用excel打開)。下面介紹一下操作步驟:

csv導入mysql

load

data

infile

‘c:\\users\\username\\desktop\\test.csv’

into

table

`table`

fields

terminated

by

‘,’

optionally

enclosed

by

‘”‘

escaped

by

‘”‘

lines

terminated

by

‘\n’;

mysql導入csv

select

*

from

`table`

load

data

infile

‘c:\\users\\username\\desktop\\test.csv’

fields

terminated

by

‘,’

optionally

enclosed

by

‘”‘

escaped

by

‘”‘

lines

terminated

by

‘\n’;

如果亂碼,可用相關編輯器打開.csv文件,另存為utf-8的csv

如何把csv文件批量導入到mysql資料庫

通過命令行導入(要求列與列之間以 英文逗號 分割,若欄位中含有 , 則以 ” 包裹)

load data infile ‘D:/mysql-5.7.29-winx64/files/ratings_5.csv’ into table ratings fields terminated by ‘,’ optionally enclosed by ‘”‘ escaped by ‘”‘ lines terminated by ‘\r\n’;

踩坑一:文件路徑用 \ 分割會報錯,用 / 可(用 \\ 應該也可)

踩坑二:load data 命令報錯

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

在 my.ini 中加入(空字元串代表允許從一切目錄導入)

[mysqld]

secure-file-priv=”

然後再 Windows 的服務中重新啟動 mysql

踩坑三:csv 文件中第一行是諸如 userId 這樣的列名

如果你的 csv 文件不大,直接使用 notepad++ 打開後刪除第一行即可

但在我們這裡,千萬級別的文件 notepad++ 無法打開,這時可以考慮兩種方法

1. 將 csv 文件傳入 Linux 伺服器刪去第一行

由於不知道如何在 Win 10 中做這個操作,只能通過 Linux 中轉執行

sed -i ‘1d’ ratings.csv

檢驗是否成功,可以列印出第一行觀察

cat ratings.csv | head -n 1

2. 通過工具把大的 csv 分成多個 notepad 能夠打開的較小文件,對第一個文件刪除第一行並依次導入

工具:splitcsv

親測 5000000 條數據的 csv 文件可以在 notepad++ 中打開(只能同時打開 3 個)

這個工具還有個小坑:ratings_0.csv 的最後一行和 ratings_1.csv 的第一行是重複的,請手動刪除

如何將.csv文件導入MySql資料庫中

1、LOAD DATA通過讀取本地文件系統上的文件,可以將大量數據添加到資料庫中。

mysql USE db1;

mysql LOAD DATA INFILE 『datafile.txt』 INTO TABLE db2.table_name;

2、mysqlimport命令直接從文件讀取批量數據。它相當於LOAD DATA語句的一個介面。

mysqlimport根據文件名導入表名,即將文件名第一個圓點前的所有字元作為表名。例如,文件class.txt被裝入class表中。

mysqlimport -L -uroot -proot db01 table_name.txt;

3、假如你原來表為T1表,數據導入到了T2表。可以用

insert into T1 select * from T2;

幾個CSV大文件如何導入mysql資料庫,並更新替換對應數據?

數據太大,用資料庫客戶端軟體直接導入非常卡,還是直接執行SQL吧。

1、指定文件路徑。

2、欄位之間以逗號分隔,數據行之間以\r\n分隔(我這裡文件是以\n分隔的)。

3、字元串以半形雙引號包圍,字元串本身的雙引號用兩個雙引號表示。

Sql代碼

複製代碼 代碼如下:

load data infile ‘D:\\top-1m.csv’

into table `site`

fields terminated by ‘,’ optionally enclosed by ‘”‘ escaped by ‘”‘

lines terminated by ‘\n’;

順帶也備份個導出吧。

Sql代碼

複製代碼 代碼如下:

select * from `site`

into outfile ‘D:\\top-1m.csv’

fields terminated by ‘,’ optionally enclosed by ‘”‘ escaped by ‘”‘

lines terminated by ‘\n’;

如何把csv文件導入mysql

mysql導入csv文件,用到的工具phpmyadmin,步驟如下:

登錄phpmyadmin(以本地localhost/phpmyadmin為示例),輸入資料庫賬號和密碼進行登錄。

2.登錄以後選擇具體的資料庫,以test為示例導入csv文件,選中test資料庫,選擇導入,然後選擇格式為csv,其它選項默認,選擇好文件點擊執行。

注意事項:mysql導出sql文件兼容性比較好。

原創文章,作者:D9NK3,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127918.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
D9NK3的頭像D9NK3
上一篇 2024-10-03 23:16
下一篇 2024-10-03 23:24

相關推薦

發表回復

登錄後才能評論