MySQL 数据导入是指将数据从一个源(如 CSV 文件、SQL 脚本、Excel 文件等)导入到 MySQL 数据库中的过程。这个过程通常用于初始化数据库、迁移数据或批量更新数据。
LOAD DATA INFILE
命令:这是 MySQL 提供的一个高效的文件导入命令,可以直接从服务器上的文件导入数据到表中。mysqlimport
工具:这是一个命令行工具,用于从文本文件中快速导入数据。INSERT INTO ... SELECT
语句:可以在两个表之间复制数据。ERROR 1261 (01000): Row X was truncated; it contained more data than there were input columns
原因:导入的数据行中的列数与目标表的列数不匹配。
解决方法:
LOAD DATA INFILE
命令时,可以通过 FIELDS TERMINATED BY
和 LINES TERMINATED BY
选项指定字段和行的分隔符。LOAD DATA INFILE 'data.csv'
INTO TABLE mytable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
原因:可能是由于网络传输速度慢、磁盘 I/O 性能差或 MySQL 配置不当等原因导致的。
解决方法:
LOAD DATA LOCAL INFILE
命令,将文件先传输到服务器本地再导入。innodb_buffer_pool_size
和 innodb_log_file_size
等参数的值。mydumper
和 myloader
。原因:源数据文件和目标数据库的字符集不一致。
解决方法:
SET NAMES
命令设置字符集。SET NAMES 'utf8mb4';
LOAD DATA INFILE 'data.csv'
INTO TABLE mytable;
希望这些信息对你有所帮助!如果有更多具体问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云