Oracle Opdater flere kolonner

Oracle Opdater Flere Kolonner



Denne vejledning vil lære dig, hvordan du opdaterer flere kolonner i en databasetabel ved hjælp af kommandoen UPDATE.

Opdatering af flere kolonner i en databasetabel er et almindeligt fænomen for databaseadministratorer. For eksempel skal du muligvis angive en ny værdi for en kolonne baseret på værdien af ​​en anden kolonne. For eksempel kan du opdatere lønværdien baseret på færdighedsniveauet. Da færdighedsniveauet kan ændre sig flere gange over tid, kan du finde på at opdatere en sådan kolonne.

Lad os lære, hvordan vi kan bruge UPDATE-klausulen i Oracle til at indstille de nye værdier for de givne tabelkolonner.







Oracle OPDATERING erklæring

For at opdatere værdien i en eksisterende tabel bruger vi UPDATE-sætningen som vist i følgende syntaks:



OPDATERING tabelnavn
SET kolonne1 = ny_værdi1,
kolonne2 = ny_værdi2,
...
kolonneN = ny_værdiN
WHERE tilstand;

Hvor:



  1. Tabelnavn repræsenterer navnet på den tabel, du ønsker at opdatere.
  2. Column_1, column_2,...,columnN definerer navnene på de kolonner, som du ønsker at opdatere.
  3. New_value1, new_value2,...new_valueN giver dig mulighed for at indstille den nye værdi for hver kolonne.
  4. Condition er en valgfri klausul, der giver dig mulighed for at begrænse de opdaterede rækker. Hvis du springer den betingede klausul over, opdaterer sætningen alle rækkerne i tabellen.

Oracle Update Eksempel

Lad os se på et eksempel fra den virkelige verden på, hvordan vi kan bruge UPDATE-sætningen i Oracle:





OPRET TABEL-databaser (
navn VARCHAR2 ( halvtreds ) IKKE NULL,
default_port NUMBER,
nyeste_version VARCHAR2 ( tyve ) IKKE NULL,
type VARCHAR2 ( tyve ) IKKE NULL,
sprog VARCHAR2 ( tyve ) IKKE NULL
) ;

Den medfølgende sætning opretter en tabel til at gemme de seneste databaser, standardporten, den seneste databaseversion, databasetypen og programmeringssproget, som bruges til at bygge databasen.

Vi kan indsætte nogle eksempler på poster som vist i følgende:



INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'Oracle' , 1521 , '19c' , 'relationel' , 'SQL' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'MySQL' , 3306 , '8.0' , 'relationel' , 'SQL' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'PostgreSQL' , 5432 , '13' , 'relationel' , 'SQL' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'MongoDB' , 27017 , '4.4' , 'ikke-relationel' , 'JavaScript' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'Microsoft SQL Server' , 1433 , '2017' , 'relationel' , 'T-SQL' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'Apache Cassandra' , 9042 , '4.0' , 'ikke-relationel' , 'Java' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'Redis' , 6379 , '6.0' , 'ikke-relationel' , 'C++' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VAUES ( 'MariaDB' , 3306 , '10,5' , 'relationel' , 'SQL' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'SQLite' , nul, '3.34' , 'relationel' , 'C' ) ;
INDSÆT I databaser ( navn, standard_port, seneste_version, type , Sprog )
VÆRDIER ( 'neo4j' , 7474 , '4.1' , 'ikke-relationel' , 'Java' ) ;

BEMÆRK: Standardporten for SQLite-databasen er indstillet til NULL, da SQLite ikke har et standardportnummer.

Resultattabel:

Oracle opdateringstabel

Antag, at vi ønsker at opdatere den nyeste_version, navn og standardport for Microsoft SQL Server. Vi kan udføre en opdateringsforespørgsel som vist i følgende:

opdatere databaser
sæt navn = 'MS SQL Server' ,
default_port = 1400 ,
nyeste_version = '2022'
hvor navn gerne 'Microsoft SQL Server' ;

Forespørgslen skal finde den række, hvor navnet er SOM 'Microsoft SQL Server' og ændre navnet, default_port og latest_version til de nye værdier.

BEMÆRK: De tidligere data er til demonstrationsformål. Det afspejler muligvis ikke en ajourført information om databaserne nøjagtigt.

Når den er opdateret, kan vi se den nye tabel for dataændringer som følger:

Som vi kan se, afspejler tabellen de opdaterede ændringer.

Konklusion

I denne øvelse stødte du på UPDATE-sætningen, der giver dig mulighed for at opdatere en enkelt eller flere kolonner i en databasetabel.

Men som de fleste databasepraksis har det potentielle ulemper. For eksempel:

  1. Ydeevne – At udføre en opdatering på flere kolonner er mere tidskrævende og ressourcekrævende end at opdatere en enkelt kolonne. Dette bliver mere betydningsfuldt, især når man multiplicerer et stort antal rækker med komplekse data.
  2. Dataintegritet – En anden bekymring ved opdatering af flere kolonner er dataintegritet. Hvis det bruges forkert, kan opdatering af flere kolonner føre til datakorruption eller tab. Du kan dykke ned i forskellige datanormaliseringsteknikker for at afbøde dette, men det er altid godt at være opmærksom. Du kan også teste dine opdateringsforespørgsler under udvikling, før du tager dem til produktion.
  3. Forespørgselskompleksitet – På samme måde kan kørsel af opdateringssætningerne øge kompleksiteten af ​​dine forespørgsler, hvilket gør dem sværere at læse, vedligeholde eller fejlfinde.

I sidste ende kan opdatering af flere kolonner i en Oracle-database være nyttig i nogle situationer. Alligevel er det vigtigt at overveje at bruge bedste praksis for at minimere risiciene.