2

テーブル 1、テーブル 2、テーブル 3 などの複数のテーブルで構成される SQL データベースがあります。

約 17000 行のデータを含む Excel シートがあります。Excel シートの列ヘッダーは、Excel データをインポートするテーブル (table3 など) の列ヘッダーと一致するように編集されています。

たとえば、Excelシートでは、データは次のようになります。

Name   Age
2      23

表 3 も同様の形式です。

Name  Age
1      23

上記のExcelシートのデータをSQLデータベースのこのテーブル3に追加する方法など、知りたいです。誰かが私にいくつかのアイデアや指示を与えることができますか???

4

4 に答える 4

1

SQLServerにはインポート/エクスポートウィザードが含まれています。使い方はとても簡単で直感的で、データ型が一致していれば問題はありません。

于 2012-12-19T08:07:29.587 に答える
1

一度に特定のテーブルにのみデータを追加したいということは理解しています。

どのコーディング言語を使用しているかはわかりませんが、要するに:

  • ストリーム リーダーを使用して、CSV ファイルを 1 行ずつ読み取ります。
  • 各行を何らかのデータ型 ( StringList または vector< String > など) に解析します。区切り文字は「,」、引用符は「"」になります。
  • 解析されたデータから「値の文字列」を作成します (SQL コマンドに必要)。つまり、値の文字列は「rowid、integer、integer、'text'、'text'、...」の形式である必要があります。この文字列の「エントリ」の量は、テーブルの列の数 (テーブルの主キーを含む) と同じにする必要があります。

    値の型が INTEGER の SQL 列に対応するエントリは、一重引用符で囲む必要はありません。値型が TEXT、TINYTEXT などの SQL 列の場合、上記のように単一引用符で囲む必要があります。行 ID を指定する必要さえないと思います。それを「?」に置き換えるだけで、次のようになります。

     "?, integer, 'text', 'text', integer, ..." 
    

    またはどんな場合でも。

  • 次に、SQL INSERT INTO コマンドを使用して、次のように各行を必要なテーブルに挿入します。

    String sqlStatement = "INSERT INTO TableName VALUES ( " + valueString + " )";
    

あなたの場合、次のようなものです:

    String sqlStatement = "INSERT INTO Table3 VALUES ( ?, 2, 23, ... )";
  • 次に、ステートメントを実行します (c++、SQLite、sqlite3* は実際にはここで宣言しないでください):

    int      rc;
    sqlite3* db;
    char*    zErrMsg = 0;
    rc = sqlite3_exec(db, sqlStatement, NULL, NULL, &zErrMsg);
    if ( rc != SQLITE_OK )
       return false;
    return true;
    
  • csv データの行ごとに繰り返します。トランザクションとバインドを使用してパフォーマンスを向上させます。

于 2012-12-19T09:02:42.450 に答える
0

どのデータベースを使用していますか?方法はデータベースエンジンとそれに使用できるツールによって異なります。SWekoが述べているように、SQL Server Management Studioでは、実際にExcelファイルを直接インポートできます。また、DBビジュアライザーなど、より一般的なツールがあり、より多くのデータベースに同じことを実行できます。または、SQLを使用してテンプレートをワイトし、vlookupを使用してデータを定義することにより、sql挿入コードを作成します。次に、すべての挿入コマンドを実行して、データをDBに追加します。

于 2012-12-19T08:41:30.383 に答える
0

これを見る必要があります: http://support.microsoft.com/kb/321686 ほぼ同じ質問があります: http://stackoverflow.com/questions/5141521/how-to-insert-data-from-excel-sheet -to-sql-server-2005

于 2012-12-19T08:53:55.187 に答える