Excel 列到 SQL 语句

Excel columns to SQL statement

这个问题是关于将复制粘贴的列从 Excel 转换为 SQL 语句。我当前的过程包括手动替换东西。在使用一些 notepad++ 功能来控制 h 以删除和替换所有出现的内容后,我喜欢 notepad++ 提供的附加功能。我只是不确定如何使用此功能来更接近最终产品。我觉得当我必须这样做的时候我不能正常操作油门和刹车,如果能实现自动化就好了。也许我只是有这种感觉,因为我知道这可能很容易,或者至少我觉得这让我很烦恼。

Copy/paste从excel变成(貌似这是notepad++):

"Random
Code"   "Random
Code"   "Random
Code"   "Random
Code"   "Random
Code"   "Random
Number"

首先,我突出显示所有内容并将“(双引号)替换为尖音符、左引号、反引号等等,这个符号`

其次,我将空格替换为\r\n

`Random`

`Code`

`Random`

`Code`

`Random`

`Code`

`Random`

`Code`

`Random`

`Code`

`Random`

`Code`

这让我在新的一行上给了我每个词,每个词都被反引号包围。

您可能已经猜到了,这是我手动清理其余部分的地方

create table table_for_upload (
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null);

为了使数据看起来更像 SQL 声明,一致同意的后续步骤是什么?使用记事本++控制h功能?还是vim?不会为 vim.

添加标签

大多数部分都可以通过正则表达式搜索和替换来完成:

  1. 打开“替换”对话框,
  2. 选择“正则表达式”作为搜索模式
  3. 查找内容:[[:space:]]*"([^"]+?)(\R\R?)([^"]+)"
  4. 替换为:' ': varchar(25) null,
  5. 点击“全部替换”
  6. 手动处理第一行:插入“create table”部分
  7. 手动处理最后一行:将逗号替换为");"

让我们检查一下 [[:space:]]*"([^"]+?)(\R\R?)([^"]+)":

  • [[::space::]]* 匹配 "Random
  • 之前的可选空格
  • "([^"]+?) 以非贪婪的方式匹配双引号后跟所有不是双引号的内容,并将其存储在 </code></li> 中 <li><code>(\R\R?) 处理 RandomCode 之间的换行符并将其存储在 </code></li> 中 <li><code>([^"]+)" 匹配所有不是双引号后跟双引号的内容,并将其存储在 </code></li> 中 <li>替换字符串使用实际行中的 <code>,, 值并将它们与常量 varchar... 字符串
  • 混合