Mysql为表的现有列加载数据

Mysql为表的现有列加载数据,mysql,ubuntu,load-data-infile,Mysql,Ubuntu,Load Data Infile,最初,我上传了使用加载数据的infle行,使用Ubuntu的Im大约有100000个 示例:数据 音调代码…艺术家…电影名称…语言 1兆焦耳零。。。。。。。。。。。英式 3……….AB……….无效。。。。。。。。。。。英式 4.CD.无效。。。。。。。。。。。英式 5..EF..Null。。。。。。。。。。。英式 但现在我必须更新列MovieName,从ToneCode 1开始一直到100000行,我在.csv文件中有数据要更新。 请建议如何为包含数据的现有表上载.Csv文件我认为最快的方法是使

最初,我上传了使用加载数据的infle行,使用Ubuntu的Im大约有100000个

示例:数据

音调代码…艺术家…电影名称…语言

1兆焦耳零。。。。。。。。。。。英式

3……….AB……….无效。。。。。。。。。。。英式

4.CD.无效。。。。。。。。。。。英式

5..EF..Null。。。。。。。。。。。英式

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

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

  • 创建一个临时表,两列ToneCode和MovieName与目标表中的相同
  • 使用加载数据填充将新CSV文件中的数据加载到该文件中
  • 使用类似内部联接的语法更新目标表,该语法描述:

    更新项目,月设置项目。price=month.price WHERE items.id=month.id

    这将使用
    id
    列作为联接条件“联接”两个表
    items
    month
    (只使用内部联接的“逗号语法”),并使用
    month.price
    列的值更新
    items.price


我找到了一个解决方案,正如上面提到的

索尔:举个例子

创建表A(Id int主键,名称Varchar(20),艺术家Varchar(20),MovieName Varchar(20))

使用添加我的所有100000行

将数据填充“/Path/file.csv”加载到表tablename(A)字段中,该字段以“,”结尾 以“\n”结尾的行 (Id、名称、艺术家)此处的电影值为空

创建临时表TA(Id int主键,MovieName Varchar(20))

已将数据上载到临时表TA 将数据填充“/Path/file.csv”加载到表tablename(A)字段中,该字段以“,”结尾 以“\n”(IDx,MovieName)结尾的行

现在使用如你所说的join


更新Tablename(TA),Tablename(A)设置A.MovieName=TA.MovieName,其中A.Id=TA.Id

您使用哪种语言,如php、java、C#等。Im使用Mysql服务器。前端android im使用。使用WorkBench上载im以上载数据