Immer wenn wir einen Befehl in postgresql ausführen, stellen die Streams die Verbindung zum Textanschluss her, auf dem die PSQL (Shell) ausgeführt wird. Im Falle der Erbschaft erbt jedoch der Prozess jedes Kindes die Streams vom übergeordneten Prozess. Nicht jedes Programm benötigt diese Streams, die in den Code eingeführt werden sollen. Ströme liegen in der Kategorie 3.
Stdin: Es ist ein Standardeingangsstream. Es wird verwendet, wenn das Programm die Eingabedaten liest.
Stdout: Dies impliziert den Standardausgangsstrom, der verwendet wird, wenn die Anwendung die Daten (Ausgabe) in die Datei schreibt.
Stderr: Dieser Stream bezieht sich auf die Fehler in der Anwendung. Dies wird verwendet, um den Benutzer über das Auftreten eines Fehlers während der Ausführung anzuzeigen oder zu benachrichtigen.
Die gemeinsame Syntax für diese drei Typen ist:
Datei *stdin;Die Standardeingabe wird vom Eingabegerät "Tastatur" gelesen, während Standardausgabe und Standardfehler auf dem Bildschirm "Ausgabegeräte Monitor" angezeigt werden. Die ersten beiden Streams werden verwendet, um die Daten in einfachen Wörtern abzurufen und anzuzeigen, aber die dritte wird hauptsächlich verwendet, wenn wir die Fehler diagnostizieren müssen. Ich spreche von Ausnahmebehandlung in Programmiersprachen.
Standardeingang (STDIN):
Beim Erstellen eines Quellcodes sind die meisten Funktionen für die Eingabefunktion vom STDIN -Stream abhängig. Einige Programme wie DIR- und LS-Programme erfordern diese Funktionalität jedoch nicht, da sie die Befehlszeilenargumente übernehmen. Diese Situation tritt auf, wenn das Programm auf das System für die Eingabe angewiesen ist, aber nicht mit dem Benutzer interagiert. Beispielsweise erfordern die Programme, die sich auf das Verzeichnis und die Pfade beziehen, keine Eingaben, um ausgeführt zu werden.
Jede Datei, die sich unter dem Ausführungsprozess befindet. Dies wird als Dateideskriptor bezeichnet. Für die Standardeingabe lautet der Wert des Dateideskriptors "0". In der C -Programmiersprache hat der Dateideskriptor eine variable Datei * stdin, ähnlich für C ++ - Sprache. Variable ist definiert als STD :: CIN.
Stdin in postgresql
Nach der Installation und Konfiguration der Datenbank müssen Sie für die Konnektivität mit dem Server ein Kennwort bereitstellen, um weiter fortzufahren. Diese Maßnahmen sind für die Authentifizierung des Benutzer.
Kopieren Sie Daten von stdin in eine Tabelle
Um den Mechanismus von Stdin anzuerkennen, müssen wir einen Dummy -Tisch erstellen. Damit können wir die Daten von einer Datei in eine andere lesen und kopieren, indem wir Stdin integrieren.
>> Tabellenschule erstellen (ID int, Name varchar (10), Adress varchar (20), Betreff varchar (20));Sobald die Tabelle erstellt wurde, werden wir die Werte in der Tabelle mit einem Einfügenbefehl hinzufügen. Fügen Sie einige Beispieldaten in wenigen Zeilen hinzu. Der Rest wird mit "stdin" hinzugefügt.
>> In die Schulwerte einfügen (1, 'Ahmad', 'Lahore', 'Sciences'), (2, 'Shazain', 'Islamabad', 'Arts'), (3, 'Zain', 'Karachi', '', ',', ',', ',' Arts ') Wissenschaften ');Abgesehen von der Anweisung „Insert“ gibt es eine Alternative, um die Werte in der Tabelle zu laden. Dies ist durch "Stdin". In PostgreSQL geben wir Daten in der Tabelle aus der Terminalzeile mit einem Trennzeichen ein. Dieser Trennzeichen ist ein Trennzeichen zwischen den Werten zweier Spalten einer Zeile. Dieser Trennzeichen kann in jedem Fall ein Raum, ein Komma oder ein Leerzeichen sein. Es wird jedoch empfohlen, einen Trennzeichen als Stdin zu verwenden, CSV (Comma-getrennte Werte). Und hier wird kein anderes Symbol erwähnt. Es wird ein Schlüsselwort "Kopie" verwendet, das die Daten aus dem PSQL -Bildschirm insbesondere in die Tabelle kopiert.
>> Schule von Stdin (Delimiter ',') kopieren;Wenn Sie die Abfrage verwenden, werden hier einige Anweisungen zur Platzierung von Daten erwähnt. Dies sind die Punkte, die den Benutzer so leiten müssen, dass Sie die Daten korrekt eingeben müssen. Jede Zeile sollte in eine neue Zeile eingegeben werden.
Wir werden hier Schritt für Schritt gehen. Jeder vor oder zwischen den Kommas geschriebene Wert repräsentiert jede Spalte. Es gibt 4 Spalten, sodass 4 Werte als CSV verwendet werden. Geben Sie die erste Zeile ein und drücken Sie dann die Registerkarte.
Wenn eine Reihe abgeschlossen ist, werden Sie dann in die nächste Reihe bewegt. Egal wie viele Zeilen Sie hinzufügen möchten, genau wie eine Einfügeanweisung werden alle grenzenlosen Daten in der Tabelle platziert. Wenn wir zum Beispiel zurückkehren, haben wir jetzt die zweite Reihe geschrieben und für die nächste fortfahren.
Wir haben 2 Zeilen verwendet, um zu demonstrieren. Die tatsächliche Einfügung wird Daten auf die Anforderungen an die Anforderungen stellt. Wenn Sie mit dem Hinzufügen von Zeilen in der Tabelle fertig sind und diesen Mechanismus beenden möchten, werden Sie sicherlich ein Ende der Datei (EOF) verwenden.
Sie müssen das Hinzufügen von Daten mit einem Backslash (\) und einem Zeitraum (Zeitraum (.) In der letzten Zeile, wenn Sie keine weiteren Zeilen hinzufügen möchten.
Lassen Sie uns nun einen endgültigen Blick auf den gesamten Code von der Abfrage zum EOF sehen. Am Ende gibt „Copy 3“ an, dass 3 Zeilen zur Tabelle hinzugefügt werden.
Notiz: Der EOF -Operator wird in der neuen Zeile der Tabelle nicht als Symbol hinzugefügt.
Fügen Sie weiterhin Daten über „stdin“ nach Anforderung hinzu. Sie können die Daten überprüfen, die Sie über die Auswahlanweisung eingefügt haben.
>> aus der Schule auswählen;Kopieren Sie Daten aus einer Tabelle nach Stdin
Wenn Sie daran interessiert sind, die Daten in einer Tabelle aus der Tabelle zu kopieren, verwenden wir Stdin dafür. Es ist nicht möglich, eine Tabelle direkt in die andere in postgresql zu kopieren .
Erstellen Sie eine Beispieltabelle, um alle Daten aus der Tabelle (Schule) zu kopieren. Man sollte sich bewusst sein, dass die Daten der Spalte hinzugefügt werden. Geben Sie ähnlich wie die Zieltabelle ein.
Fügen Sie nun die Daten dieser Datei mit derselben STDIN -Anweisung einer Kopie hinzu. Die Daten können gleich sein oder Sie können sie ändern, indem Sie eine neue Zeile hinzufügen, die in der Originaltabelle nicht vorhanden war.
>> kopieren Sie school_copy aus stdin (Delimeter ',')Verwenden Sie eine Auswahlanweisung, um die eingegebenen Daten zu erhalten.
Ausgabe mit STDOut anstelle von SELECT -Anweisungen
Da verwenden wir Stdin -Alternative zur Anweisung Insert. In ähnlicher Weise wird STDOut anstelle der Auswahlanweisung verwendet. Die Darstellung liegt nicht in Form einer Tabelle. Für den Ausgangszweck ist der verwendete Trennzeichen „|“. Dieser Trennzeichen wird automatisch zwischen den Spalten in jeder Zeile platziert.
>> kopieren Sie school_copy in stdout (Gremiter '|');Fehler bei der Verwendung von Trennzeichen ergeben
Abgrenzer '|'
Wenn Sie einen Trennzeichen verwenden '|' Im Austausch von CSV wird ein Fehler verursacht. Dies kopiert die Daten nicht vom Terminal und verursacht einen Syntaxfehler.
Abschluss
'PostgreSQL -Kopie von Stdin' Assists bei der Duplikation von Daten einer Tabelle zur anderen. In diesem Artikel haben wir Ihnen zunächst eine Einführung von Standard -Streams, Stdin, geeignet, theoretisch gefolgt von der kurzen Erklärung der Beispiele. Eine wettbewerbsfähige Rande von Stdin über Inserise -Anweisung ist, dass wir sie zwischen den vorhandenen Zeilen hinzufügen können, wenn eine Zeile fälschlicherweise beim Kopieren von Daten übersprungen wird. Mit der Anleitung dieses Tutorials können Sie den Inhalt der Tabellen kopieren.