Mysql为表的现有列加载数据

vis*_*shu 5 mysql ubuntu load-data-infile

最初我已经上传使用加载数据Infile行有100000 Im使用Ubuntu

例如:数据

ToneCode ....艺术家... ...的movieName语言

1 .................... Mj .......... Null ............

3 .................... AB .......... Null ............

4 .................... CD ......... Null ............

5 .................... EF .......... Null ............

但现在我必须更新列MovieName从ToneCode 1开始直到100000行我在.csv文件中有数据要更新.请建议如何上传包含数据的现有表的.Csv文件

CBr*_*roe 2

我认为最快的方法是使用纯粹的 MySQL 而不需要额外的脚本,如下所示:

\n\n
    \n
  • 创建一个临时表,两列 ToneCode 和 MovieName 与目标表中的相同
  • \n
  • 使用 LOAD DATA INFILE 将新 CSV 文件中的数据加载到该文件中
  • \n
  • 使用http://dev.mysql.com/doc/refman/5.1/en/update.html描述的类似 INNER JOIN 的语法更新目标表:

    \n\n

    UPDATE items,month SET items.price=month.price WHERE items.id=month.id;

    \n\n

    这将 \xe2\x80\x9cjoin\xe2\x80\x9d 两个表itemsmonth(通过仅使用 \xe2\x80\x9ccomma-syntax\xe2\x80\x9d 进行内部联接)使用列id作为联接标准,并items.price用该列的值更新该列month.price

  • \n
\n