从excel工作表生成sql插入脚本

use*_*240 95 sql excel

我有一个大的excel工作表,我想添加到我的数据库.

我可以从这个excel工作表生成一个SQL插入脚本吗?

Har*_* CO 187

我认为使用上述方法之一进行导入是理想的,如果它真的是一个大文件,但您可以使用Excel创建插入语句:

="INSERT INTO table_name VALUES('"&A1&"','"&B1&"','"&C1&"')"
Run Code Online (Sandbox Code Playgroud)

在MS SQL中,您可以使用:

SET NOCOUNT ON
Run Code Online (Sandbox Code Playgroud)

放弃显示所有"受影响的1行"评论.如果你正在做很多行并且它出错了,那么每隔一段时间在语句之间加一个GO

  • 我使用的是`= CONCATENATE()`,但是使用`&`符号会导致更好的可读性! (2认同)
  • @mastazi 同意!不久前,当我遇到 `CONCATENATE()` 的参数限制时,我切换到了 `&`,现在这不是一个常见问题,因为限制是 255 个参数,但我从未考虑过恢复。 (2认同)
  • @PreshanPradeepa你可以使用相同的语法,只要它是一个有效的整数,SQL Server就不在乎整数是否在引号中. (2认同)

mhn*_*mhn 28

有一个方便的工具,节省了大量的时间

http://tools.perceptus.ca/text-wiz.php?ops=7

你只需要输入表名,字段名和数据 - 选项卡分开并点击Go!

  • 不要在网络上发布您的敏感数据.您无法知道您提交给Web应用程序的数据会发生什么.其中一些工具可存储您的数据并使其公开 (5认同)

And*_*zov 26

您可以通过管理工作室界面创建适当的表,并将数据插入表中,如下所示.这可能需要一些时间,具体取决于数据量,但它非常方便.

在此输入图像描述

在此输入图像描述


Sim*_*ars 7

您可以使用以下excel语句:

="INSERT INTO table_name(`"&$A$1&"`,`"&$B$1&"`,`"&$C$1&"`, `"&$D$1&"`) VALUES('"&SUBSTITUTE(A2, "'", "\'")&"','"&SUBSTITUTE(B2, "'", "\'")&"','"&SUBSTITUTE(C2, "'", "\'")&"', "&D2&");"
Run Code Online (Sandbox Code Playgroud)

这比Hart CO的答案更好,因为它考虑了列名并且由于列中的引号而消除了编译错误.最后一列是数值列的示例,没有引号.


小智 5

根据数据库,您可以导出为 CSV,然后使用导入方法。

MySQL - http://dev.mysql.com/doc/refman/5.1/en/load-data.html

PostgreSQL - http://www.postgresql.org/docs/8.2/static/sql-copy.html

  • MS SQL,您可以使用 SSMS 的导入向导导入 Excel 文件。 (3认同)

Ste*_*veC 5

使用PowerShell 库中ConvertFrom-ExcelToSQLInsertImportExcel

NAME
    ConvertFrom-ExcelToSQLInsert
SYNTAX
    ConvertFrom-ExcelToSQLInsert [-TableName] <Object> [-Path] <Object> 
      [[-WorkSheetname] <Object>] [[-HeaderRow] <int>] 
      [[-Header] <string[]>] [-NoHeader] [-DataOnly]  [<CommonParameters>]
PARAMETERS
    -DataOnly
    -Header <string[]>
    -HeaderRow <int>
    -NoHeader
    -Path <Object>
    -TableName <Object>
    -WorkSheetname <Object>
    <CommonParameters>
        This cmdlet supports the common parameters: Verbose, Debug,
        ErrorAction, ErrorVariable, WarningAction, WarningVariable,
        OutBuffer, PipelineVariable, and OutVariable. For more information, see
        about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).
ALIASES
    None
REMARKS
    None
EXAMPLE
    ConvertFrom-ExcelToSQLInsert MyTable .\testSQLGen.xlsx
Run Code Online (Sandbox Code Playgroud)