Az Oracle több oszlop frissítése

Az Oracle Tobb Oszlop Frissitese



Ez az oktatóanyag megtanítja, hogyan frissíthet több oszlopot egy adatbázistáblában az UPDATE paranccsal.

Egy adatbázistábla több oszlopának frissítése gyakori jelenség az adatbázis-adminisztrátorok számára. Például előfordulhat, hogy új értéket kell beállítania egy oszlophoz egy másik oszlop értéke alapján. Például frissítheti a fizetés értékét a képzettségi szint alapján. Mivel a képzettségi szint idővel többször is változhat, előfordulhat, hogy frissíti az ilyen oszlopokat.

Tanuljuk meg, hogyan használhatjuk az UPDATE záradékot az Oracle-ben az új értékek beállítására az adott táblázatoszlopokhoz.







Oracle UPDATE nyilatkozat

Egy meglévő tábla értékének frissítéséhez az UPDATE utasítást használjuk a következő szintaxis szerint:



UPDATE table_name
SET oszlop1 = new_value1,
oszlop2 = új_érték2,
...
oszlopN = új_értékN
WHERE feltétel;

Hol:



  1. A tábla_neve a frissíteni kívánt tábla nevét jelenti.
  2. Oszlop_1, oszlop_2,…, oszlopN határozza meg a frissíteni kívánt oszlopok nevét.
  3. Új_érték1, új_érték2,…új_értékN lehetővé teszi az új érték beállítását minden oszlophoz.
  4. A feltétel egy opcionális záradék, amely lehetővé teszi a frissített sorok korlátozását. Ha kihagyja a feltételes záradékot, az utasítás frissíti a táblázat összes sorát.

Oracle frissítési példa

Nézzünk egy valós példát arra, hogyan használhatjuk az UPDATE utasítást az Oracle-ben:





CREATE TABLE adatbázisokat (
név VARCHAR2 ( ötven ) NEM NULLA,
default_port NUMBER,
legújabb_verzió VARCHAR2 ( húsz ) NEM NULLA,
típus VARCHAR2 ( húsz ) NEM NULLA,
nyelv VARCHAR2 ( húsz ) NEM NULLA
) ;

A megadott utasítás létrehoz egy táblát a legújabb adatbázisok, az alapértelmezett port, a legújabb adatbázis-verzió, az adatbázis típusa és az adatbázis felépítéséhez használt programozási nyelv tárolására.

Beszúrhatunk néhány mintarekordot az alábbiak szerint:



INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'Jóslat' , 1521 , '19c' , 'kapcsolati' , 'SQL' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'MySQL' , 3306 , '8.0' , 'kapcsolati' , 'SQL' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'PostgreSQL' , 5432 , '13' , 'kapcsolati' , 'SQL' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'MongoDB' , 27017 , '4,4' , 'nem relációs' , 'JavaScript' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'Microsoft SQL Server' , 1433 , '2017' , 'kapcsolati' , 'T-SQL' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'Apacs Cassandra' , 9042 , '4,0' , 'nem relációs' , 'Jáva' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'Redis' , 6379 , '6.0' , 'nem relációs' , 'C++' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'MariaDB' , 3306 , '10,5' , 'kapcsolati' , 'SQL' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'SQLite' , nulla, '3,34' , 'kapcsolati' , 'C' ) ;
INSERT INTO adatbázisok ( név, alapértelmezett_port, legújabb_verzió, típus , nyelv )
ÉRTÉKEK ( 'neo4j' , 7474 , '4,1' , 'nem relációs' , 'Jáva' ) ;

MEGJEGYZÉS: Az SQLite adatbázis alapértelmezett_portja NULL-ra van állítva, mivel az SQLite nem rendelkezik alapértelmezett portszámmal.

Eredmény táblázat:

Oracle frissítési táblázat

Tegyük fel, hogy frissíteni szeretnénk a Microsoft SQL Server legfrissebb_verzióját, nevét és alapértelmezett portját. Frissítési lekérdezést hajthatunk végre az alábbiak szerint:

adatbázisok frissítése
készlet név = 'MS SQL Server' ,
alapértelmezett_port = 1400 ,
legfrissebb_verzió = '2022'
ahol név tetszik 'Microsoft SQL Server' ;

A lekérdezésnek meg kell keresnie azt a sort, ahol a név MINT „Microsoft SQL Server”, és módosítania kell a nevet, az alapértelmezett_portot és a legújabb_verziót az új értékekre.

MEGJEGYZÉS: Az előző adatok demonstrációs célokat szolgálnak. Előfordulhat, hogy nem tükrözi pontosan az adatbázisokkal kapcsolatos naprakész információkat.

Frissítés után a következőképpen tekinthetjük meg az adatváltozások új táblázatát:

Amint látjuk, a táblázat a frissített változásokat tükrözi.

Következtetés

Ebben az oktatóanyagban találkozott az UPDATE utasítással, amely lehetővé teszi egy vagy több oszlop frissítését egy adatbázistáblában.

Azonban, mint a legtöbb adatbázis-gyakorlat, ennek is vannak potenciális hátrányai. Például:

  1. Teljesítmény – Több oszlop frissítése idő- és erőforrásigényesebb, mint egyetlen oszlop frissítése. Ez még jelentősebbé válik, különösen akkor, ha nagy számú sort szorozunk összetett adatokkal.
  2. Adatintegritás – Több oszlop frissítése esetén egy másik probléma az adatintegritás. Ha helytelenül használja, több oszlop frissítése adatok sérüléséhez vagy elvesztéséhez vezethet. Ennek enyhítésére különféle adatnormalizálási technikákba merülhet bele, de mindig jó, ha észben tart. A frissítési lekérdezéseket a fejlesztés alatt is tesztelheti, mielőtt élesre vinné őket.
  3. Lekérdezés összetettsége – Hasonlóképpen, a frissítési utasítások futtatása növelheti a lekérdezések összetettségét, megnehezítve azok olvasását, karbantartását vagy hibakeresését.

Végül bizonyos helyzetekben hasznos lehet több oszlop frissítése egy Oracle adatbázisban. Ennek ellenére elengedhetetlen a legjobb gyakorlatok alkalmazása a kockázatok minimalizálása érdekében.