mysql数百万行数据从一个表导入另一个表

时间:2016-03-28 07:40:03

标签: python mysql database

我有一张表,它有两百万行数据。对于每一行,它都有一个body列,它存储一个JSON格式数据。例如:

表-A:

id user_id  body
1  1        {'tel': '13678031283', 'email': 'test@gmail.com', 'name': 'test'....}
2  2        {'tel' : '1567827126', 'age': '16'....}
......

我有另一个名为table_b的表:

表-B:

id     user_id    tel        email         name
1      1          13678019   test@qq.com   test1
2      2          15627378   test1@qq.com  test2  
.....

table_a有200万行数据,我想将所有table_a数据导入table_b,table_a的每一行都应该进行处理。

我想这样处理:

for row in table_a_rows:
    result = process(row)
    insert result to table_b
.....

但我认为这不是一个好主意。它有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以直接使用-r height -c width从table_a中选择所需的数据。例如,收到电子邮件将是这样的:

JSON_EXTRACT

因此,您可以直接将table_a中的所有数据替换为table_b:

mysql> SELECT JSON_EXTRACT(body, '$.email') from table_a;