„Oracle“ atnaujina kelis stulpelius

Oracle Atnaujina Kelis Stulpelius



Ši pamoka išmokys jus atnaujinti kelis stulpelius duomenų bazės lentelėje naudojant komandą UPDATE.

Kelių stulpelių atnaujinimas duomenų bazės lentelėje yra dažnas reiškinys duomenų bazių administratoriams. Pavyzdžiui, gali tekti nustatyti naują stulpelio vertę pagal kito stulpelio vertę. Pavyzdžiui, galite atnaujinti atlyginimo vertę pagal įgūdžių lygį. Kadangi įgūdžių lygis laikui bėgant gali keistis kelis kartus, galite atnaujinti tokį stulpelį.

Sužinokime, kaip galime naudoti „Oracle“ sąlygą „UPDATE“, kad nustatytų naujas reikšmes nurodytoms lentelės stulpelėms.







Oracle UPDATE pareiškimas

Norėdami atnaujinti vertę esamoje lentelėje, naudojame teiginį UPDATE, kaip parodyta šioje sintaksėje:



ATNAUJINTI lentelės_pavadinimą
SET1 stulpelis = new_value1,
2 stulpelis = nauja_vertė2,
...
stulpelisN = nauja_vertėN
KUR sąlyga;

Kur:



  1. Lentelės_pavadinimas reiškia lentelės, kurią norite atnaujinti, pavadinimą.
  2. Stulpelis_1, stulpelis_2,…, stulpelisN apibrėžia stulpelių, kuriuos norite atnaujinti, pavadinimus.
  3. Nauja_vertė1, nauja_vertė2,…nauja_vertėN leidžia nustatyti naują kiekvieno stulpelio reikšmę.
  4. Sąlyga yra neprivaloma sąlyga, leidžianti apriboti atnaujintas eilutes. Jei praleisite sąlyginę sąlygą, sakinys atnaujins visas lentelės eilutes.

Oracle atnaujinimo pavyzdys

Pažvelkime į realų pavyzdį, kaip galime naudoti UPDATE teiginį „Oracle“:





CREATE TABLE duomenų bazes (
vardas VARCHAR2 ( penkiasdešimt ) NE NULL,
default_port NUMBER,
naujausia VARCHAR2 versija ( dvidešimt ) NE NULL,
tipo VARCHAR2 ( dvidešimt ) NE NULL,
kalba VARCHAR2 ( dvidešimt ) NE NULL
) ;

Pateiktas sakinys sukuria lentelę, kurioje saugomos naujausios duomenų bazės, numatytasis prievadas, naujausia duomenų bazės versija, duomenų bazės tipas ir programavimo kalba, naudojama duomenų bazei kurti.

Galime įterpti keletą pavyzdinių įrašų, kaip parodyta toliau:



INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( 'Oracle' , 1521 m , '19c' , 'santykinis' , 'SQL' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( 'MySQL' , 3306 , '8.0' , 'santykinis' , 'SQL' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( „PostgreSQL“ , 5432 , '13' , 'santykinis' , 'SQL' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( 'MongoDB' , 27017 , '4,4' , 'nesantykinis' , „JavaScript“ ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( „Microsoft SQL Server“ , 1433 m , „2017“ , 'santykinis' , 'T-SQL' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( 'Apache Cassandra' , 9042 , '4.0' , 'nesantykinis' , 'Java' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( 'Redis' , 6379 , '6.0' , 'nesantykinis' , 'C++' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VAUES ( 'MariaDB' , 3306 , „10,5“ , 'santykinis' , 'SQL' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( 'SQLite' , null, „3.34“ , 'santykinis' , 'C' ) ;
INSERT INTO duomenų bazes ( pavadinimas, numatytasis_prievadas, naujausia_versija, tipo , kalba )
VERTYBĖS ( 'neo4j' , 7474 , '4.1' , 'nesantykinis' , 'Java' ) ;

PASTABA: SQLite duomenų bazės numatytasis_portas yra NULL, nes SQLite neturi numatytojo prievado numerio.

Rezultatų lentelė:

Oracle naujinimų lentelė

Tarkime, kad norime atnaujinti naujausią „Microsoft SQL Server“ versiją, pavadinimą ir numatytąjį prievadą. Galime vykdyti atnaujinimo užklausą, kaip parodyta toliau:

atnaujinti duomenų bazes
rinkinys vardas = 'MS SQL serveris' ,
default_port = 1400 ,
naujausia_versija = „2022“
kur pavadinimas patinka „Microsoft SQL Server“ ;

Užklausa turėtų rasti eilutę, kurios pavadinimas yra KAIP 'Microsoft SQL Server', ir pakeisti pavadinimą, default_port ir naujausią_versiją į naujas reikšmes.

PASTABA: Ankstesni duomenys yra demonstravimo tikslais. Tai gali netiksliai atspindėti naujausią informaciją apie duomenų bazes.

Atnaujinus naują duomenų pakeitimų lentelę galime peržiūrėti taip:

Kaip matome, lentelė atspindi atnaujintus pakeitimus.

Išvada

Šioje pamokoje susidūrėte su teiginiu UPDATE, leidžiančiu atnaujinti vieną arba kelis duomenų bazės lentelės stulpelius.

Tačiau, kaip ir dauguma duomenų bazių praktikos, ji turi galimų trūkumų. Pavyzdžiui:

  1. Našumas – kelių stulpelių atnaujinimas užima daugiau laiko ir reikalauja daug išteklių nei vieno stulpelio atnaujinimas. Tai tampa dar reikšmingesnė, ypač padauginant daug eilučių su sudėtingais duomenimis.
  2. Duomenų vientisumas – Kitas rūpestis atnaujinant kelis stulpelius yra duomenų vientisumas. Jei naudojamas neteisingai, atnaujinus kelis stulpelius gali būti sugadinti arba prarasti duomenys. Norėdami tai sušvelninti, galite pasinerti į įvairius duomenų normalizavimo būdus, tačiau visada verta būti atidiems. Taip pat galite išbandyti naujinimo užklausas kuriant, prieš pradėdami jas gaminti.
  3. Užklausos sudėtingumas – taip pat paleidus naujinimo teiginius užklausos gali būti sudėtingesnės, todėl jas bus sunkiau skaityti, prižiūrėti ar derinti.

Galų gale, kai kuriais atvejais gali būti naudinga atnaujinti kelis Oracle duomenų bazės stulpelius. Vis dėlto, norint sumažinti riziką, būtina apsvarstyti galimybę naudoti geriausią praktiką.