从csv文件生成UPDATE SQL语句

时间:2018-10-30 13:29:09

标签: mysql regex excel csv sql-update

示例:

User ID, Last Name, First Name, Start Date, End Date
    001, Pudding  , Chocolate , 10/01/2018, 10/30/2018
    002, Cake     , Carrot    , 10/06/2018, 11/07/2018
    003, Pie      , Apple     , 10/03/2018, 11/01/2018

假设我已经有ID为001、002、003的现有用户,并且我想更新其姓氏,名字,开始日期和结束日期。该表太大了,无法使用“ MySQL for Excel”之类的插件,因为我无法缩小搜索范围(上面的示例已简化)

我曾经考虑过将其保存为.csv,在文本编辑器中将其打开,然后尝试查找/替换文本并形成UPDATE语句。.但是我什至不知道如何确切地做到这一点。

我希望将每一行变成第一行:

UPDATE desserts
SET lname = "Pudding", fname = "Chocolate", startdate = "10/01/2018", enddate = "10/30/2018"
WHERE user_id = 001;

我将有几千个可以在数据库中运行。

1 个答案:

答案 0 :(得分:0)

打开搜索>搜索...>在记事本++中替换

然后将其用作搜索

\s*(\d+)\s*,\s*([a-zA-Z]+)\s*,\s*([a-zA-Z]+)\s*,\s*(.+),\s*(.+)

这是替换

UPDATE desserts SET lname = "$2", fname = "$3", startdate = "$4", enddate = "$5" WHERE user_id = $1;\n

选择“正则表达式”,然后单击“搜索并替换”。

Search and Replace in Notepadplusplus