Wie Sie einen Block oder Zeilen in einer SQL-Tabelle hinzufügen

Laden einer SQL-Datenbank-Tabelle eine Zeile zu einem Zeitpunkt unter Verwendung von EINFÜGEN

Aussagen kann sehr mühsam sein, vor allem, wenn das ist alles, was Sie tun. Auch die Daten in eine sorgfältig menschliche ausgereifte ergonomische Maske Eingabe wird nach einer Weile ermüdend. Klar, wenn Sie einen zuverlässigen Weg, automatisch die Daten eingeben, werden Sie Gelegenheiten, in denen die automatische Eintrag zu finden, ist besser als eine Person an einer Tastatur und Typ sitzen zu müssen.

Automatischer Datenerfassung ist möglich, beispielsweise, wenn die Daten in elektronischer Form vorhanden ist, weil jemand hat bereits die Daten manuell eingegeben werden. Wenn dem so ist, Daten von einer Datendatei zu einem anderen zu übertragen, ist eine Aufgabe, die ein Computer mit minimalem menschlichem Aufwand durchführen kann. Wenn man die Eigenschaften der Quelldaten und die gewünschte Form der Zieltabelle bekannt ist, kann ein Computer die Datenübertragung automatisch durchführen.

Wie aus einer fremden Datendatei zu kopieren

Angenommen, Sie bauen eine Datenbank für eine neue Anwendung. Einige Daten, die Sie brauchen, existiert bereits in einer Computerdatei. Die Datei kann von einem DBMS unterscheidet sich von dem erstellt in einer Datenbank eine flache Datei oder eine Tabelle, die Sie verwenden. Die Daten können in ASCII oder EBCDIC-Code oder in einem obskuren proprietären Format vorliegen. Wie geht's?

Die ersten Dinge, die Sie tun, sind Hoffnung und beten, dass die Daten, die Sie in einem weit verbreiteten Format möchten. Wenn die Daten in einem gängigen Format ist, haben Sie eine gute Chance auf ein Format-Konvertierungsprogramm zu finden, die die Daten in eine übersetzen kann oder mehr andere gängigen Formaten.

Ihre Entwicklungsumgebung können sich wahrscheinlich einer dieser formats- importieren, wenn Sie wirklich Glück hat, kann die Entwicklungsumgebung den aktuellen Datenformat direkt verarbeiten. Auf PCs sind die Access xBASE und MySQL-Formaten die am weitesten verbreitete. Wenn die Daten, die Sie in einem dieser Formate ist möchte, sollte die Umwandlung einfach sein. Wenn das Format weniger üblich ist, können Sie es durch einen zweistufigen Umwandlung setzen müssen.

Wenn die Daten in einem alten, proprietären ist, oder nicht mehr existierenden Format, als letzten Ausweg, können Sie zu einem professionellen Daten-Übersetzungsdienst wenden. Diese Unternehmen sind spezialisiert Computerdaten von einem Format in ein anderes zu übersetzen.

Wie alle Zeilen zwischen Tabellen zu übertragen

Ein weniger schwerwiegendes Problem als mit fremden Daten zu tun ist, Daten, die sich bereits in einer Tabelle existiert in einer anderen Tabelle, dass die Daten mit kompatiblen Daten zu kombinieren. Dieses Verfahren funktioniert gut, wenn die Struktur der zweiten Tabelle zu der Struktur der ersten Tabelle identisch ist.

In diesem Fall können Sie den Inhalt der beiden Tabellen kombinieren, indem die Verwendung von UNION Vergleichsoperator. Das Ergebnis ist ein virtuellen Tisch (Das heißt, eine, die keine unabhängige Existenz hat), die Daten aus den beiden Quelltabellen enthält.

So übertragen Sie ausgewählte Zeilen und Spalten zwischen Tabellen

Im Allgemeinen ist die Struktur der Daten in der Quellentabelle in die Struktur der Tabelle nicht identisch, in die Sie die Daten einfügen möchten. Vielleicht nur einige der Spalten übereinstimmen, und diese sind die Spalten, die Sie übertragen möchten. Durch Kombinieren WÄHLEN Aussagen mit ein UNION, Sie können festlegen, welche Spalten aus den Quellentabellen in der virtuellen Ergebnistabelle aufzunehmen.

Durch die Einbeziehung von WOHER Klauseln in der WÄHLEN Anweisungen können Sie die Zeilen einschränken, die Sie zu denen, die in der Ergebnistabelle platzieren, die bestimmte Bedingungen erfüllen.

Angenommen, Sie haben zwei Tabellen, Interessenten und Kunden, und Sie wollen, dass jeder Liste im Bundesstaat Maine lebt, wer entweder in der Tabelle erscheint. Sie können eine virtuelle Ergebnistabelle erstellen, die die gewünschte Information- enthält nur den folgenden Befehl verwenden:

SELECT Vorname, LastNameFROM PROSPECTWHERE State = 'ME'UNIonselect Vorname, LastNameFROM CUSTOMERWHERE State =' 'ME -

Hier ist ein genauerer Blick:

  • Das WÄHLEN angeben Aussagen, dass die Spalten in der Ergebnistabelle enthalten sind Vorname und Familienname, Nachname.

  • Das WOHER Klauseln schränken die denjenigen enthalten Zeilen mit dem Wert 'MICH' in dem Bundesland Spalte.

  • Das Bundesland Spalte nicht in der Ergebnistabelle enthalten, ist aber sowohl in der Interessenten und Kunden-Tabellen.

  • Das UNION Operator kombiniert die Ergebnisse der WÄHLEN Aussage auf Prospektion mit den Ergebnissen der WÄHLEN Auf Kundenwunsch, löscht alle doppelten Zeilen und zeigt dann das Ergebnis.

Ein anderer Weg, um Daten von einem Tisch zum anderen in einer Datenbank zu kopieren ist, zu verschachteln a WÄHLEN Aussage innerhalb eines EINFÜGEN Erklärung. Diese Methode keinen virtuellen Tabellen- erstellen, anstatt es dupliziert die ausgewählten Daten. Sie können alle Zeilen aus der Tabelle CUSTOMER, zum Beispiel zu nehmen, und die Zeilen in die PROSPECT Tabelle einfügen.

Natürlich funktioniert dies nur, wenn die Strukturen der Kunden und Interessenten Tabellen identisch sind. Wenn Sie nur die Kunden, die in Maine in den PROSPECT Tisch leben platzieren möchten, eine einfache WÄHLEN mit einer Bedingung in der WOHER Klausel funktioniert der Trick, wie im folgenden Beispiel gezeigt:

INSERT INTO PROSPECTSELECT * FROM CUSTOMERWHERE State = 'ME' -

Auch wenn dieser Vorgang redundante Daten erzeugt, können Sie es zu tun sowieso die Leistung von Auslagerungen zu verbessern. Hüten Sie sich vor der Redundanz, aber! Um die Datenkonsistenz zu gewährleisten, müssen Sie sicher, dass Sie nicht einfügen, aktualisieren oder löschen Zeilen in einer Tabelle ohne Einfügen, Aktualisieren oder die entsprechenden Zeilen in der anderen Tabelle zu löschen. Ein weiteres mögliches Problem ist die Möglichkeit, dass EINFÜGEN Erklärung könnte doppelte Primärschlüssel zu generieren.

Wenn auch nur eine bereits bestehende Aussicht hat einen Primärschlüssel ProspectID dass entspricht dem entsprechenden Primärschlüssel (Kundennummer) Eines Kunden Sie versuchen, in die PROSPECT Tabelle einzufügen, wird fehlschlagen der Einsatz Betrieb. Wenn beide Tabellen selbstinkrementierende Primärschlüssel haben, wollen Sie sie nicht mit der gleichen Nummer zu starten. Sicherstellen, dass die beiden Blöcke von Zahlen weit voneinander entfernt sind.

Menü