복붙노트

[SQL] 엑셀 워크 시트에서 SQL 삽입 스크립트를 생성

SQL

엑셀 워크 시트에서 SQL 삽입 스크립트를 생성

나는 내 데이터베이스에 추가 할 것을 큰 Excel 워크 시트가 있습니다.

나는이 엑셀 워크 시트에서 스크립트를 삽입하여 SQL을 생성 할 수 있습니까?

해결법

  1. ==============================

    1.나는 그것이 정말 큰 파일의 경우 언급 된 방법 중 하나가 이상적입니다 사용하여 가져 오기를 생각하지만, 당신은 문 삽입 만들 Excel을 사용할 수 있습니다 :

    나는 그것이 정말 큰 파일의 경우 언급 된 방법 중 하나가 이상적입니다 사용하여 가져 오기를 생각하지만, 당신은 문 삽입 만들 Excel을 사용할 수 있습니다 :

    ="INSERT INTO table_name VALUES('"&A1&"','"&B1&"','"&C1&"')"
    

    MS SQL에서 당신은 사용할 수 있습니다 :

    SET NOCOUNT ON
    

    모든 '1 행 영향의 의견을 보여주는 포기합니다. 당신이 행과 오류 출력을 많이하고있는 경우에, 가끔 문 사이에 매를 가를 넣어

  2. ==============================

    2.이 아래 그림처럼 당신은 테이블에 데이터 관리 스튜디오 인터페이스를 통해 삽입 적절한 테이블을 만들 수 있습니다. 그것은 데이터의 양에 따라 시간이 걸릴 수 있지만 매우 편리합니다.

    이 아래 그림처럼 당신은 테이블에 데이터 관리 스튜디오 인터페이스를 통해 삽입 적절한 테이블을 만들 수 있습니다. 그것은 데이터의 양에 따라 시간이 걸릴 수 있지만 매우 편리합니다.

  3. ==============================

    3.에서 많은 시간을 절약 할 수있는 편리한 도구가있다

    에서 많은 시간을 절약 할 수있는 편리한 도구가있다

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

    당신은 테이블 이름에 공급, 필드 이름과 데이터가 - 탭 분리하고 이동을 맞았다!

  4. ==============================

    4.다음 엑셀 문을 사용할 수 있습니다 :

    다음 엑셀 문을 사용할 수 있습니다 :

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

    이는 열에서 따옴표에 더 나은 계정 열 이름에 소요 컴파일 오류를 제거수록 하트 CO의 대답보다. 마지막 열은 인용없이 수치 열의 일례이다.

  5. ==============================

    5.데이터베이스에 따라 CSV로 내 보낸 다음 가져 오기 방법을 사용할 수 있습니다.

    데이터베이스에 따라 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

  6. ==============================

    6.당신은 행으로 파일 행에 대한 의지 출력 데이터의 주위에 적절한 SQL 문에 추가하는 것을 무언가를 작성하는 VB를 사용할 수 있습니다. 내가 전에 이런 짓을했는지.

    당신은 행으로 파일 행에 대한 의지 출력 데이터의 주위에 적절한 SQL 문에 추가하는 것을 무언가를 작성하는 VB를 사용할 수 있습니다. 내가 전에 이런 짓을했는지.

  7. ==============================

    7.여기에 아주 잘 작동 다른 도구는 ...

    여기에 아주 잘 작동 다른 도구는 ...

    http://www.convertcsv.com/csv-to-sql.htm

    이 탭으로 구분 된 값을하고 INSERT 스크립트를 생성 할 수 있습니다. 그냥 복사 및 붙여 넣기 및 2 단계 아래의 옵션에 체크 박스를 "첫 번째 행은 열 이름입니다"

    그런 다음 아래로 스크롤 3 단계 아래에있는 상자에 테이블 이름을 입력 "스키 마 또는보기 이름"

    삭제 및 생성 테이블 확인란에주의하십시오뿐만 아니라, 있는지 당신은 그것을 실행하기 전에 생성 된 스크립트를 검사합니다.

    이것은 내가 발견 한 가장 빠르고 안정적인 방법입니다.

  8. ==============================

    8.파워 쉘 갤러리에서 ImportExcel에서은 ConvertFrom-ExcelToSQLInsert를 사용하여

    파워 쉘 갤러리에서 ImportExcel에서은 ConvertFrom-ExcelToSQLInsert를 사용하여

    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
    
  9. ==============================

    9.다음은 SQL 삽입] 문에 CSV 파일을 변환 할 수있는 온라인 자동화에 대한 링크는 다음과 같습니다

    다음은 SQL 삽입] 문에 CSV 파일을 변환 할 수있는 온라인 자동화에 대한 링크는 다음과 같습니다

    CSV - 투 - SQL

  10. ==============================

    10.나는 데이터베이스에 Excel 파일 데이터를 삽입 생성 한이 쿼리 이 ID와 가격에서 숫자 값 및 날짜 필드도 있습니다. 이 쿼리는 나뿐만 아니라 그것은 수도 유용 당신에게 필요한 모든 유형을 요약

    나는 데이터베이스에 Excel 파일 데이터를 삽입 생성 한이 쿼리 이 ID와 가격에서 숫자 값 및 날짜 필드도 있습니다. 이 쿼리는 나뿐만 아니라 그것은 수도 유용 당신에게 필요한 모든 유형을 요약

    ="insert into  product (product_id,name,date,price) values("&A1&",'" &B1& "','" &C1& "'," &D1& ");"
    
    
        Id    Name           Date           price 
        7   Product 7   2017-01-05 15:28:37 200
        8   Product 8   2017-01-05 15:28:37 40
        9   Product 9   2017-01-05 15:32:31 500
        10  Product 10  2017-01-05 15:32:31 30
        11  Product 11  2017-01-05 15:32:31 99
        12  Product 12  2017-01-05 15:32:31 25
    
  11. ==============================

    11.당신은 당신이 방법을 실행하기 전에 NuGet 패키지 관리자에서 OfficeOpenXml 패키지를 가져올 필요가 엑셀 시트를 사용하여 삽입 스크립트를 생성하는 C # 방법 아래를 사용할 수 있습니다.

    당신은 당신이 방법을 실행하기 전에 NuGet 패키지 관리자에서 OfficeOpenXml 패키지를 가져올 필요가 엑셀 시트를 사용하여 삽입 스크립트를 생성하는 C # 방법 아래를 사용할 수 있습니다.

    public string GenerateSQLInsertScripts() {
    
            var outputQuery = new StringBuilder();
            var tableName = "Your Table Name";
            if (file != null)
            {
                var filePath = @"D:\FileName.xsls";
    
                using (OfficeOpenXml.ExcelPackage xlPackage = new OfficeOpenXml.ExcelPackage(new FileInfo(filePath)))
                {
                    var myWorksheet = xlPackage.Workbook.Worksheets.First(); //select the first sheet here
                    var totalRows = myWorksheet.Dimension.End.Row;
                    var totalColumns = myWorksheet.Dimension.End.Column;
    
                    var columns = new StringBuilder(); //this is your columns
    
                    var columnRows = myWorksheet.Cells[1, 1, 1, totalColumns].Select(c => c.Value == null ? string.Empty : c.Value.ToString());
    
                    columns.Append("INSERT INTO["+ tableName +"] (");
                    foreach (var colrow in columnRows)
                    {
                        columns.Append("[");
                        columns.Append(colrow);
                        columns.Append("]");
                        columns.Append(",");
                    }
                    columns.Length--;
                    columns.Append(") VALUES (");
                    for (int rowNum = 2; rowNum <= totalRows; rowNum++) //selet starting row here
                    {
                        var dataRows = myWorksheet.Cells[rowNum, 1, rowNum, totalColumns].Select(c => c.Value == null ? string.Empty : c.Value.ToString());
    
                        var finalQuery = new StringBuilder(); 
                        finalQuery.Append(columns);
    
                        foreach (var dataRow in dataRows)
                        {
                            finalQuery.Append("'");
                            finalQuery.Append(dataRow);
                            finalQuery.Append("'");
                            finalQuery.Append(",");
                        }
                        finalQuery.Length--;
    
                        finalQuery.Append(");");
    
                        outputQuery.Append(finalQuery);
    
                      }
    
                }
            }
    
    return outputQuery.ToString();}
    
  12. ==============================

    12.나는 종종 SQL 스크립트를 만들고 소스 제어에 추가하고 DBA에게 보내했다. 나는 창문이 ExcelIntoSQL 응용 프로그램을 사용하여 저장 https://www.microsoft.com/store/apps/9NH0W51XXQRM 그것은 "표 만들기"및 인서트 전체 스크립트를 작성합니다.

    나는 종종 SQL 스크립트를 만들고 소스 제어에 추가하고 DBA에게 보내했다. 나는 창문이 ExcelIntoSQL 응용 프로그램을 사용하여 저장 https://www.microsoft.com/store/apps/9NH0W51XXQRM 그것은 "표 만들기"및 인서트 전체 스크립트를 작성합니다.

  13. ==============================

    13.나는 batly SQL 삽입을 생성하는 신뢰할 수있는 방법이 있고, processing.It 예를 들어, 나에게 내 작품에 많은 도움 당신은 부분 매개 변수를 수정할 수 있습니다, 호환되지 않는 구조로 데이터베이스에 한 수백 개의 데이터를 복사 필드는 계산합니다.  IntelliJ를 DataGrip, 내가 사용하는 강력한 도구입니다. DG는 batly 열 또는 선으로 WPS 오피스 나 MS 엑셀에서 데이터를 수신 할 수 있습니다. 복사 한 후, DG는 SQL 삽입으로 데이터를 내보낼 수 있습니다.

    나는 batly SQL 삽입을 생성하는 신뢰할 수있는 방법이 있고, processing.It 예를 들어, 나에게 내 작품에 많은 도움 당신은 부분 매개 변수를 수정할 수 있습니다, 호환되지 않는 구조로 데이터베이스에 한 수백 개의 데이터를 복사 필드는 계산합니다.  IntelliJ를 DataGrip, 내가 사용하는 강력한 도구입니다. DG는 batly 열 또는 선으로 WPS 오피스 나 MS 엑셀에서 데이터를 수신 할 수 있습니다. 복사 한 후, DG는 SQL 삽입으로 데이터를 내보낼 수 있습니다.

  14. from https://stackoverflow.com/questions/16818796/generate-sql-insert-script-from-excel-worksheet by cc-by-sa and MIT license