我想从csv文件中将数据插入到mysql表中。从region_codes.csv文件导入数据。在region_codes.csv文件中,第3列中有3列,它有,
个分隔数据,包括那些逗号如何在mysql中插入。
DROP TABLE IF EXISTS `region_codes`;
CREATE TABLE `region_codes` (
`country_code` CHAR(2) NULL,
`region_no` varchar(5) NOT NULL,
`region` VARCHAR(45) NULL,
INDEX `idx_country_code` (`country_code`)
) COLLATE='utf8_bin' ENGINE = MyISAM;
使用LOAD DATA LOCAL INFILE
我导入数据,但只有1000行从4066行导入。
LOAD DATA LOCAL INFILE 'C:/region_codes.csv' INTO TABLE `region_codes` FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
如何从csv文件向mysql region_codes
表中插入大量数据。
屏幕截图:
答案 0 :(得分:2)
如果它适用于您,您可以尝试以下语法,否则提供csv数据:
LOAD DATA LOCAL INFILE 'C:/region_codes.csv' INTO TABLE `region_codes` FIELDS ESCAPED BY '\\' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
如果上述语法不起作用,则再次通过下面的命令导出数据,并通过下面给定的命令导入。
select * into outfile 'C:/region_codes.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\n' from `region_codes`;
现在使用下面的命令(忽略列标题行)
LOAD DATA LOCAL INFILE 'C:/region_codes.csv' INTO TABLE `region_codes` FIELDS ESCAPED BY '\\' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
注意:如果手动准备数据,则需要手动更正。
如果仍然无效,请附上您的csv数据以检查确切的问题。
答案 1 :(得分:0)
您可以这样使用mysqlimport
工具:
mysqlimport --ignore-lines=1 --fields-terminated-by=,
--columns='ID,Name,Phone,Address' --local -u root -p
Database /path/to/csvfile/TableName.csv
以下是完整的解释:http://chriseiffel.com/everything-linux/how-to-import-a-large-csv-file-to-mysql/