Oracle aktualisiert mehrere Spalten

Oracle Aktualisiert Mehrere Spalten



In diesem Tutorial erfahren Sie, wie Sie mehrere Spalten in einer Datenbanktabelle mit dem UPDATE-Befehl aktualisieren.

Das Aktualisieren mehrerer Spalten in einer Datenbanktabelle ist ein häufiges Phänomen für Datenbankadministratoren. Beispielsweise müssen Sie möglicherweise einen neuen Wert für eine Spalte basierend auf dem Wert einer anderen Spalte festlegen. Beispielsweise können Sie den Gehaltswert basierend auf dem Qualifikationsniveau aktualisieren. Da sich die Fertigkeitsstufe im Laufe der Zeit mehrmals ändern kann, kann es vorkommen, dass Sie Aktualisierungen an einer solchen Spalte vornehmen.

Lassen Sie uns lernen, wie wir die UPDATE-Klausel in Oracle verwenden können, um die neuen Werte für die angegebenen Tabellenspalten festzulegen.







Oracle UPDATE-Anweisung

Um den Wert in einer vorhandenen Tabelle zu aktualisieren, verwenden wir die UPDATE-Anweisung wie in der folgenden Syntax gezeigt:



UPDATE Tabellenname
SET Spalte1 = neuer_Wert1,
Spalte2 = neuer_Wert2,
...
SpalteN = neuer_WertN
WHERE-Bedingung;

Woher:



  1. Table_name stellt den Namen der Tabelle dar, die Sie aktualisieren möchten.
  2. Spalte_1, Spalte_2,…,SpalteN definieren die Namen der Spalten, die Sie aktualisieren möchten.
  3. New_value1, new_value2,…new_valueN ermöglichen es Ihnen, den neuen Wert für jede Spalte festzulegen.
  4. Bedingung ist eine optionale Klausel, mit der Sie die aktualisierten Zeilen einschränken können. Wenn Sie die Bedingungsklausel überspringen, aktualisiert die Anweisung alle Zeilen in der Tabelle.

Oracle-Update-Beispiel

Sehen wir uns ein Beispiel aus der Praxis an, wie wir die UPDATE-Anweisung in Oracle verwenden können:





CREATE TABLE-Datenbanken (
Name VARCHAR2 ( fünfzig ) NICHT NULL,
default_port NUMMER,
neueste_version VARCHAR2 ( zwanzig ) NICHT NULL,
Typ VARCHAR2 ( zwanzig ) NICHT NULL,
Sprache VARCHAR2 ( zwanzig ) NICHT NULL
) ;

Die bereitgestellte Anweisung erstellt eine Tabelle zum Speichern der neuesten Datenbanken, des Standardports, der neuesten Datenbankversion, des Datenbanktyps und der Programmiersprache, die zum Erstellen der Datenbank verwendet werden.

Wir können einige Beispieldatensätze einfügen, wie im Folgenden gezeigt:



IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'Orakel' , 1521 , '19c' , 'relational' , 'SQL' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'MySQL' , 3306 , '8.0' , 'relational' , 'SQL' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'PostgreSQL' , 5432 , '13' , 'relational' , 'SQL' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'MongoDB' , 27017 , '4.4' , 'nicht relational' , 'JavaScript' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'Microsoft SQL-Server' , 1433 , '2017' , 'relational' , 'T-SQL' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'Apache-Kassandra' , 9042 , '4.0' , 'nicht relational' , 'Java' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'Redis' , 6379 , '6.0' , 'nicht relational' , 'C++' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
VALUES ( 'MariaDB' , 3306 , '10.5' , 'relational' , 'SQL' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'SQLite' , Null, '3.34' , 'relational' , 'C' ) ;
IN Datenbanken EINFÜGEN ( name, default_port, neueste_version, Typ , Sprache )
WERTE ( 'neo4j' , 7474 , '4.1' , 'nicht relational' , 'Java' ) ;

HINWEIS: Der default_port für die SQLite-Datenbank ist auf NULL gesetzt, da SQLite keine Standardportnummer hat.

Ergebnistabelle:

Oracle Update-Tabelle

Angenommen, wir möchten die neueste_Version, den Namen und den Standardport für Microsoft SQL Server aktualisieren. Wir können eine Aktualisierungsabfrage wie im Folgenden gezeigt ausführen:

Datenbanken aktualisieren
einstellen Name = 'MS SQL-Server' ,
default_port = 1400 ,
neueste_version = '2022'
wo name wie 'Microsoft SQL-Server' ;

Die Abfrage sollte die Zeile finden, in der der Name WIE „Microsoft SQL Server“ lautet, und den Namen, den Standardport und die neueste Version in die neuen Werte ändern.

HINWEIS: Die vorherigen Daten dienen zu Demonstrationszwecken. Es kann sein, dass es aktuelle Informationen über die Datenbanken nicht genau widerspiegelt.

Nach der Aktualisierung können wir die neue Tabelle für Datenänderungen wie folgt anzeigen:

Wie wir sehen können, spiegelt die Tabelle die aktualisierten Änderungen wider.

Fazit

In diesem Lernprogramm sind Sie auf die UPDATE-Anweisung gestoßen, mit der Sie eine einzelne oder mehrere Spalten in einer Datenbanktabelle aktualisieren können.

Wie die meisten Datenbankpraktiken hat sie jedoch potenzielle Nachteile. Zum Beispiel:

  1. Leistung – Das Durchführen einer Aktualisierung mehrerer Spalten ist zeitaufwändiger und ressourcenintensiver als das Aktualisieren einer einzelnen Spalte. Dies wird insbesondere dann bedeutsam, wenn eine große Anzahl von Zeilen mit komplexen Daten multipliziert wird.
  2. Datenintegrität – Ein weiteres Problem beim Aktualisieren mehrerer Spalten ist die Datenintegrität. Bei falscher Verwendung kann das Aktualisieren mehrerer Spalten zu Datenbeschädigung oder -verlust führen. Sie können in verschiedene Datennormalisierungstechniken eintauchen, um dies zu mildern, aber es ist immer gut, aufmerksam zu sein. Sie können Ihre Aktualisierungsabfragen auch in der Entwicklung testen, bevor Sie sie in die Produktion übernehmen.
  3. Abfragekomplexität – In ähnlicher Weise kann das Ausführen der Update-Anweisungen die Komplexität Ihrer Abfragen erhöhen, wodurch sie schwieriger zu lesen, zu warten oder zu debuggen sind.

Letztendlich kann das Aktualisieren mehrerer Spalten in einer Oracle-Datenbank in einigen Situationen nützlich sein. Dennoch ist es wichtig, die Anwendung der Best Practices in Betracht zu ziehen, um die Risiken zu minimieren.