SQL Server Bulk Insert

SQL Server Bulk Insert
Wie der Name schon sagt, bezieht sich der Bulk Insert auf eine Technik, um eine große Datenmenge schnell aus einer Text- oder CSV -Datei in eine SQL -Servertabelle oder -ansicht einzuführen. Es ist eine sehr nützliche Funktion bei der Wiederherstellung von der Sicherung, da Sie nur mit der bloßen Mindestkonfiguration umgehen müssen. Lassen Sie uns diskutieren, wie wir in SQL Server einen Masseneinsatz ausführen können.

Anforderungen

Um diesem Artikel zu folgen, benötigen Sie:

  1. SQL Server -Instanz.
  2. Beispiel CSV oder Textdatei.

Zur Illustration haben wir eine CSV -Datei mit 1000 Datensätzen. Sie können eine Beispieldatei im folgenden Link herunterladen:

SQL Server -Beispieldatenverknüpfung

Schritt 1: Datenbank erstellen

Der erste Schritt besteht darin, eine Datenbank zu erstellen, in der die CSV -Datei importiert werden kann. Für unser Beispiel werden wir die Datenbank aufrufen.

Bulk_insert_db.

Wir können eine Frage als:

Datenbank erstellen bulk_insert_db;

Sobald wir das Datenbank -Setup haben, können wir die erforderlichen Daten fortsetzen und einfügen.

Importieren Sie die CSV -Datei mit SQL Server Management Studio

Wir können die CSV -Datei mit dem SSMS -Import -Assistenten in die Datenbank importieren. Öffnen Sie das SQL Server Management Studio und melden Sie sich bei Ihrer Serverinstanz an.

Wählen Sie im linken Bereich Ihre Datenbank aus und klicken Sie mit der rechten Maustaste.

Navigieren Sie zu Aufgabe -> flache Datei importieren.

Dadurch wird der Import -Assistent gestartet und ermöglicht, Ihre CSV -Datei in Ihre Datenbank zu importieren.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren. Wählen Sie im nächsten Teil den Speicherort Ihrer CSV -Datei aus, setzen Sie Ihren Tabellennamen und wählen Sie das Schema aus.

Sie können die Schema -Option als Standard lassen.

Klicken Sie neben der Vorschau der Daten auf die Vorschau der Daten. Stellen Sie sicher, dass die Daten gemäß der ausgewählten CSV -Datei bereitgestellt werden.

Mit dem nächsten Schritt können Sie verschiedene Aspekte der Tabellenspalten ändern. Lassen Sie uns für unser Beispiel die ID -Spalte als Primärschlüssel einstellen und Null in der Spalte Land zulassen.

Klicken Sie mit allem fest, um den Importprozess zu starten. Sie werden Erfolg haben, wenn die Daten erfolgreich importiert wurden.

Um zu bestätigen, dass die Daten in die Datenbank eingefügt werden, fragen Sie die Datenbank als:

Verwenden Sie bulk_insert_db;
Wählen Sie Top 10 * aus bulk_insert_sample;

Dies sollte die ersten 10 Datensätze aus der CSV -Datei zurückgeben.

Bulk-Einsatz mit T-SQL

In einigen Fällen erhalten Sie keinen Zugriff auf eine GUI -Schnittstelle zum Importieren und Exportieren von Daten. Daher ist es wichtig zu erfahren, wie wir die obige Operation nur aus SQL -Abfragen ausführen können.

Der erste Schritt besteht darin, die Datenbank einzurichten. Für diesen können wir es bulk_insert_db_copy nennen:

Datenbank erstellen bulk_insert_db_copy;

Dies sollte zurückkehren:

Befehle erfolgreich abgeschlossen.
Vervollständigungszeit:

Der nächste Schritt besteht darin, unser Datenbankschema einzurichten. Wir verweisen auf die CSV -Datei, um zu bestimmen, wie wir unsere Tabelle erstellen können.

Angenommen, wir haben eine CSV -Datei mit den Header als:

Wir können die Tabelle wie gezeigt modellieren:

TABLE CREATE TABLE Bulk_insert_table (
ID int Primärschlüssel nicht Null -Identität (100,1),
FirstName Varchar (50) nicht null,
Lastname Varchar (50) nicht null,
E -Mail Varchar (255) NICHT NULL,
Land Varchar (50),
Berufsvarchar (50)
);

Hier erstellen wir eine Tabelle mit den Spalten als Header des CSV.

NOTIZ: Da der ID -Wert bei A100 beginnt und um 1 erhöht wird, verwenden wir die Identity (100,1) Eigenschaft.

Erfahren Sie hier mehr: https: // linuxhint.com/Reset-Identitätsspalt-sql-server/

Der letzte Schritt besteht darin, die Daten einzufügen. Eine Beispielabfrage ist wie unten gezeigt:

Bulk Insert Bulk_insert_table
aus ''
mit (firstrow = 2,
Fieldeterminator = ',',
roweterminator = '\ n'
);

Hier verwenden wir die Abfrage der Masseneinfügungsabfrage, gefolgt vom Namen der Tabelle, in die wir die Daten einfügen möchten. Als nächstes kommt die Aussage der Anweisung, gefolgt vom Pfad zur CSV -Datei.

Schließlich verwenden wir die With -Klausel, um Importeigenschaften anzugeben. Der erste ist Firstrow, der SQL Server mitteilt, dass die Daten in Zeile 2 beginnen. Dies ist nützlich, wenn Ihre CSV -Datei den Datenheader enthält.

Der zweite Teil ist Fieldeterminator, der den Trennzeichen für Ihre CSV -Datei angibt. Beachten Sie, dass es keinen Standard für CSV -Dateien gibt. Daher kann es andere Grenzwerte wie Räume, Perioden usw. enthalten.

Der dritte Teil ist Rowterminator, der einen Datensatz in der CSV -Datei beschreibt. In unserem Fall eine Zeile = ein Datensatz.

Das Ausführen des obigen Codes sollte zurückgeben:

(Betroffene 1000 Zeilen)
Vervollständigungszeit:

Sie können die vorhandenen Daten überprüfen, indem Sie die Abfrage ausführen:

Wählen Sie Top 10 * aus bulk_insert_table;

Dies sollte zurückkehren:

Und damit haben Sie erfolgreich eine Massen -CSV -Datei in Ihre SQL Server -Datenbank eingefügt.

Abschluss

In diesem Handbuch wird untersucht. Schauen Sie sich unser anderes großartiges Tutorial auf SQL Server an:

https: // linuxHint.com/category/ms-sql-server/

Happy SQL!!!