国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

如何將 CSV 文件導(dǎo)入 MySQL 表?
P粉785957729
P粉785957729 2023-10-09 14:59:12
0
2
995

我有一個來自客戶端的非標(biāo)準(zhǔn)化事件日記 CSV,我正在嘗試將其加載到 MySQL 表中,以便可以重構(gòu)為正常的格式。我創(chuàng)建了一個名為“CSVImport”的表,其中 CSV 文件的每一列都有一個字段。 CSV 包含 99 列,因此這本身就是一項艱巨的任務(wù):

CREATE TABLE 'CSVImport' (id INT);
ALTER TABLE CSVImport ADD COLUMN Title VARCHAR(256);
ALTER TABLE CSVImport ADD COLUMN Company VARCHAR(256);
ALTER TABLE CSVImport ADD COLUMN NumTickets VARCHAR(256);
...
ALTER TABLE CSVImport Date49 ADD COLUMN Date49 VARCHAR(256);
ALTER TABLE CSVImport Date50 ADD COLUMN Date50 VARCHAR(256);

表上沒有任何約束,所有字段都保存 VARCHAR(256) 值,除了包含計數(shù)(用 INT 表示)、是/否(用 BIT 表示)、價格(用 DECIMAL 表示)和文本簡介(由 TEXT 表示)。

我嘗試將數(shù)據(jù)加載到文件中:

LOAD DATA INFILE '/home/paul/clientdata.csv' INTO TABLE CSVImport;
Query OK, 2023 rows affected, 65535 warnings (0.08 sec)
Records: 2023  Deleted: 0  Skipped: 0  Warnings: 198256
SELECT * FROM CSVImport;
| NULL             | NULL        | NULL           | NULL | NULL               | 
...

整個表都填滿了NULL。

我認(rèn)為問題在于文本簡介包含不止一行,并且 MySQL 正在解析該文件,就好像每一新行都對應(yīng)于一個數(shù)據(jù)庫行。我可以毫無問題地將文件加載到 Open中。

clientdata.csv 文件包含 2593 行和 570 條記錄。第一行包含列名稱。我認(rèn)為它是逗號分隔的,并且文本顯然是用雙引號分隔的。

更新:

如有疑問,請閱讀手冊:http://dev.mysql.com/doc/refman/5.0/en/load-data.html

我在 LOAD DATA 語句中添加了一些信息, 足夠智能來推斷,現(xiàn)在它加載了正確數(shù)量的記錄:

LOAD DATA INFILE "/home/paul/clientdata.csv"
INTO TABLE CSVImport
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY 'n'
IGNORE 1 LINES;

但是仍然有很多完全 NULL 記錄,并且加載的數(shù)據(jù)似乎都沒有在正確的位置。

P粉785957729
P粉785957729

全部回復(fù)(2)
P粉057869348

使用mysqlimport將表加載到數(shù)據(jù)庫中: p>

mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv

我在 http 找到它://chriseiffel.com/everything-linux/how-to-import-a-large-csv-file-to-mysql/

要使分隔符成為制表符,請使用 --fields-termerated-by='\t'

P粉210405394

問題的核心似乎是將 CSV 文件中的列與表中的列進(jìn)行匹配。

許多圖形化的 mySQL 客戶端對于此類事情都有非常好的導(dǎo)入對話框。

我最喜歡的工作是基于 Windows 的 HeidiSQL。它為您提供了一個圖形界面來構(gòu)建LOAD DATA命令;您可以稍后以編程方式重復(fù)使用它。

屏幕截圖:“導(dǎo)入文本文件”對話框

要打開“導(dǎo)入文本文件”對話框,請轉(zhuǎn)至工具 > 導(dǎo)入 CSV 文件

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板