Grundlagen der Insert, Update und Delete-Anweisungen in Oracle 12c
So fügen Sie Zeilen zu Ihrer Oracle-Datenbank 12c, verwenden Sie die INSERT-Anweisung. Eine INSERT-Anweisung wirkt auf eine Tabelle zu einem Zeitpunkt. Die INSERT-Anweisung hat drei Klauseln, von denen eines optional:
Menu
INSERT-Klausel
Column-Klausel (optional)
VALUES-Klausel
Hier ist, wie Sie eine neue Zeile in den Arbeits Tabelle einfügen würde:
Für die INSERT-Klausel, Typ
und drücken Sie die Eingabetaste.
Für die Spalten Klausel, Typ
lt; (job_id, job_title)>
und drücken Sie die Eingabetaste.
Für die VALUES-Klausel, Typ
und drücken Sie die Eingabetaste.
Sie sehen
SQL> INSERT INTO jobs2 (job_id, job_title) 3 VALUES ( 'TRN_MGR', 'TRAINING MANAGER') - 1 Zeile wurde erstellt.
Nachdem Sie eine Zeile zu Ihrer Tabelle hinzufügen, werden die Ergebnisse wie folgt:
SQL> SELECT * 2 FROM jobs3 WHERE job_id = 'TRN_MGR'-JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ---------------------- ------------- ---------- ---------- TRN_MGR TRAINING MANAGER
Die Gehalts Spalten sind leer.
Einfache Anführungszeichen ( '@@') muss um Zeichenfelder verwendet werden. Alles, was Zeichen enthält (wie zum Beispiel a, b oder c) braucht einfache Anführungszeichen um es zu haben, wenn Sie Daten im Gespräch sind. Numerische Felder können ohne Anführungszeichen gelassen werden.
Wie man Daten mit der Anweisung UPDATE in Oracle 12c ändern
Wenn Sie Daten, die Sie ändern möchten, verwenden Sie die UPDATE-Anweisung. Die UPDATE-Anweisung wirkt auf Spalten. Hier sind die Klauseln der UDPATE Aussage:
UPDATE-Klausel
SET-Klausel
WHERE-Klausel
Die ersten beiden Sätze sind erforderlich. Technisch gesehen, ist die letzte Klausel optional wenn auch sehr zu empfehlen.
Wenn du # 147-vergessen # 148- die Gehaltsinformationen in unserer INSERT-Anweisung, hier ist, wie es mit einer UPDATE-Anweisung zu beheben:
Art
und drücken Sie die Eingabetaste.
Art
und drücken Sie die Eingabetaste.
Art
und drücken Sie die Eingabetaste.
Sie sehen
SQL> UPDATE jobs2 SET min_salary = 10000, max_salary = 200003 WHERE job_id = 'TRN_MGR'-1 Zeile wurde aktualisiert.
Und die Ergebnisse sind
SQL> SELECT * 2 FROM jobs3 WHERE job_id = 'TRN_MGR'-JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ---------------------- ------------- ---------- ---------- TRN_MGR TRAINING MANAGER 10000 20000
Bedenken Sie immer eine WHERE-Klausel mit einer UPDATE-Anweisung verwenden, oder Sie sonst alle Zeilen aktualisieren.
Verwenden Sie Ihre WHERE-Klausel mit Ihrem UDPATE Anweisung eine SELECT-Anweisung zu bilden. Auf diese Weise können Sie überprüfen, ob Ihre WHERE-Klausel auf die korrekten Daten handelt, bevor Sie das Update ausführen. (Dies würde auch zu einer DELETE-Anweisung anwenden.)
Wenn Sie mögen, was Sie sehen, müssen Sie die Änderungen dauerhaft zu machen. Geben Sie und drücken Sie die Eingabetaste.
Sie sehen:
SQL> Commit-Commit abgeschlossen.
Und, können Sie Ihre Änderungen nicht leicht rückgängig gemacht werden.
So entfernen Sie Daten mit der DELETE-Anweisung in Oracle 12c
Die letzte DML-Typ Aussage darüber zu sprechen, ist die DELETE-Anweisung. Die DELETE-Anweisung können Sie Zeilen aus Tabellen zu entfernen. DELETE wirkt auf eine Tabelle zu einem Zeitpunkt. Sie sollten auch sorgfältig zu prüfen, eine WHERE-Klausel mit dem DELETE-Anweisung verwendet, oder alle Ihre Zeilen entfernt werden.
Die DELETE-Anweisung hat zwei Klauseln:
DELETE-Klausel
WHERE-Klausel
Hier ist, wie die letzten Reihen zu entfernen Sie einfach hinzugefügt, um die Datenbank für die TRN_MGR job_id:
Art
und drücken Sie die Eingabetaste.
Art
und drücken Sie die Eingabetaste.
Sie sehen
SQL> DELETE FROM jobs2 WHERE job_id = 'TRN_MGR'-1 Zeile gelöscht.
Und die Ergebnisse wie folgt aussehen:
SQL> SELECT * 2 FROM jobs3 WHERE job_id = 'TRN_MGR'-keine Zeilen ausgewählt
Es gibt nicht mehr alle Zeilen in der Tabelle für die job_id TRN_MGR. Zusätzlich wurden alle Spalten entfernt. Zum Entfernen von nur einer der Werte, verwenden Sie eine UPDATE-Anweisung und legen Sie die Spalte zu leeren (null). DELETE wirkt immer auf alle es entfernt Reihen columns-.
Hoppla! Sie bedeutete nicht die TRN_MGR Zeile zu löschen! Zum Glück, Sie haben nicht unsere Änderung COMMIT noch. Sie können diese Änderung mit einer ROLLBACK-Anweisung rückgängig machen:
SQL> ROLLBACK-Transfer abbrechen complete.SQL> SELECT * 2 FROM jobs3 WHERE job_id = 'TRN_MGR'-JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- --------------- -------------------- ---------- ---------- TRN_MGR TRAINING MANAGER 10000 20000
Solange Sie in Ihrer Sitzung nicht erteilt haben ein COMMIT, können Sie alle Änderungen an der letzten COMMIT in Ihrer Sitzung zurückzunehmen. Auch, bis Sie Ihre Daten verpflichten, sonst niemand in der Datenbank kann es sehen.
Verlassen Daten un-committed für längere Zeit kann dazu führen, Sperrung Probleme in der Datenbank. Daten, die geändert wurde und nicht verpflichtet hält eine Sperre auf die Zeile (n) in Frage. Sie sollten Ihre Änderungen so schnell wie möglich zu begehen.