更新mysqlu中的值以获取各种值

时间:2017-11-07 08:01:50

标签: mysql sql

所以我有一个问题。

我想在SQL中更改certian列的值,现在我知道如何做到这一点,但在我这样做之前,我会将这些值导出为CSV,之后我想将这些值导回到SQL中再一次,没有任何改变。我怎么能这样做?

有问题的表有大约5000行,所以除非我只能改变1列,否则我必须转储表,更改值,然后在我完成后销毁表并重新导入转储。是否存在任何更简单的方法?

1 个答案:

答案 0 :(得分:0)

这是我的解决方案。请使用带有CLI工具的 mysql 后端(例如:Windows使用CMD)。 我的简单例子是这样的: - 我正在创建一个名为Test的表,并用几行填充它:

create table test
( col1 varchar(10), col2 varchar(20), col3 varchar(30)
);

Insert into test values
('nice', 'good', 'well'),
('best', 'bad', 'great'),
('cute','love','alone');
  • 然后,我在csv文件中导出表格:
>    SELECT * 
>     FROM test
>     INTO OUTFILE 'C://ProgramData//MySQL//MySQL Server 5.7//Uploads//test.csv'
>         FIELDS TERMINATED BY '#'
>         LINES TERMINATED BY '\n';

请为了找到合适的目录 - 你应该用你的C://替换我的 - 你可以保存你的输出使用这个命令(适用于任何操作系统):

  

SHOW VARIABLES LIKE "secure_file_priv";

  • 然后,转到您的目录,然后修改您的内容。之后,删除所有旧数据:从测试中删除;

  • 然后加载 test.csv 文件:

    LOAD DATA LOCAL INFILE 'C://ProgramData//MySQL//MySQL Server 5.7//Uploads//test.csv'
    INTO TABLE test
    FIELDS TERMINATED BY '#'
    LINES TERMINATED BY '\n';
    

希望有所帮助。