シナリオ:
あなたはSQLServer開発者として働いており、dbo.Customerテーブルのデータを含むExcelファイルまたはCSVファイルを入手しました。グラフィカルユーザーインターフェイスを使用して、ExcelまたはCSVデータをテーブルに挿入するにはどうすればよいですか。解決策:
ステップ1: まず、以下のスクリプトを使用してdbo.Customerテーブルを作成しましょう。USE yourDatabaseName Go Create Table dbo.Customer( Id int identity(1,1), FName VARCHAR(50), LName VARCHAR(50), Age int, DOB Date, Salary Numeric(6,2))
ステップ2: データベースに移動し、次にテーブルに移動し、dbo.Customerを右クリックして、設定に従って[上位X行の編集]を選択します。
> |
グラフィカルユーザーインターフェイスを使用してExcelまたはCSVデータをテーブルに挿入する方法 |
以下のウィンドウが開き、レコードをテーブルdbo.Customerに挿入できます。
SSMSのグラフィカルインターフェイスを使用してExcelからテーブルにレコードを挿入する方法 |
ステップ3: ExcelまたはCSVファイルを開き、以下に示すようにデータをコピーします。ヘッダー値をテーブルに挿入したくないので、ヘッダーをコピーしないでください。
グラフィカルユーザーインターフェイスを使用して、ExcelデータをSQLServerテーブルに挿入します |
ステップ4: 列とコピーされたデータの順序が同じであることに注意してください。 SSMSにアクセスして、データを貼り付けます。
SSMSを使用してExcelまたはCSVデータをSQLServerテーブルに手動で挿入する方法 |
IdはID(自動生成)列であり、その列に値を挿入しようとしているため、ExcelデータはFNameで始まります。 FnameデータはIdに挿入できないため、無視され、残りのデータもシフトされます。以下に示すように、姓の値がFNameに挿入されます。
ExcelまたはCSVからSSMSのテーブルにデータを挿入する方法 |
これを回避するには、データを挿入する列のみを選択する必要があります。また、ExcelまたはCSVからのデータがある順序で選択します。
クエリを実行すると、選択した列のみが表示されます。手順4としてデータを先に進みます。
SQLServerのインポートウィザードを使用せずにExcelまたはCVSからSQLServerテーブルにデータを挿入 |
貼り付けを押すと、次のようにデータがテーブルに書き込まれます。
SSMSの[編集]ウィンドウを使用してExcelまたはCSVからSQLServerテーブルにデータを挿入する方法 |
レコードが少ない場合は、スピードに問題がない可能性があります。数百万のレコードがある場合、[編集]ウィンドウを使用してレコードを挿入するには時間がかかることがあります。 SQL Serverテーブルに挿入するレコードが大量にある場合は、インポートウィザードを使用することをお勧めします。
ビデオデモ:コピー貼り付けを使用してExcelまたはCSVデータをテーブルに挿入する方法