Oracle Database Alter Table Endre kolonne

Oracle Database Alter Table Endre kolonne
Relasjonsdatabaser er noen av de mest populære og innflytelsesrike databasene i den moderne verden. De er noen av databasene som har blitt brukt til å drive enkle applikasjoner til komplekse bedriftsnivåapplikasjoner.

Til tross for at de står tidens prøve, kan relasjonsdatabaser endres gjennom hele applikasjonens livssyklus. Det er derfor viktig å lære forskjellige metoder og teknikker du kan bruke for å endre egenskapene til en gitt database når som helst på et hvilket som helst tidspunkt.

I denne artikkelen vil vi lære hvordan du bruker kommandoen Alter Table Modify for å endre kolonnen i en gitt tabell. I tillegg vil vi dekke hvordan du endrer forskjellige kolonneegenskaper uten å gjenskape et bord.

Oracle Alter Table Endre kommando

Alter -tabellen Modify lar deg endre en eksisterende tabellkolonne uten behov for å gjenskape tabellen.

Kommandosyntaks er som vist:

ALTER TABLE TABLE_NAME
Endre kolonne_navn Handling/eiendom;

Kommandoen følger en enkel syntaks som er lett å forstå og følge. Vi starter med å spesifisere tabellnavnet som målkolonnen ligger i.

Deretter spesifiserer vi kolonnen vi ønsker å endre, etterfulgt av handlingen eller egenskapen til kolonnen vi ønsker å oppdatere.

Du kan også oppdatere flere kolonner i en enkelt spørring som vist i syntaksen nedenfor:

ALTER TABLE TABLE_NAME
Endre (
Column_name_1 Handling/eiendom,
kolonne_nmae_2 Handling/eiendom
..
);

Oracle Database lar deg spesifisere følgende handlinger eller egenskaper:

  1. Aktiver eller deaktiver kolonnestøtte for nullverdier.
  2. Endre kolonne synlighetsegenskap.
  3. Oppdater standardverdien til en gitt kolonne.
  4. Endre uttrykket av virtuelle kolonner.
  5. Utvide eller krympe størrelsen på en kolonne.

Eksempel Demonstrasjoner

I den påfølgende delen vil vi utforske eksempler på å bruke Alter -tabellen Modify -kommandoen i Oracle -databaser.

Vi vil bruke en tabell med verdier gitt i avsnittet nedenfor for ensartethet. Imidlertid, hvis du har et eksisterende bord, kan du bruke det til å lære å bruke denne kommandoen.

Eksempeltabell og datasett

Følgende utsagn oppretter eksempeltabellen og legger til tilfeldige data:

Skaperbare bestillinger
(
Idnumbernotnull,
Kunden varchar2 (50) Notnull,
ordre_datedate,
PRODUKT_IDNUMBER,
mengde nummer,
Prisnummer,
CONSTRAINTORDER_PK Primærnøkkel (ID)
);
Sett inn bestillinger (id, kunde, ordre_date, produkt_id, mengde, pris)
Verdier (1, 'Beatriz', Date'2022-10-10 ', 4500, 45, 56);
Sett inn bestillinger (id, kunde, ordre_date, produkt_id, mengde, pris)
Verdier (2, 'Ali', Date'2022-10-10 ', 5400, 65, 109);
Sett inn bestillinger (id, kunde, ordre_date, produkt_id, mengde, pris)
Verdier (3, 'Gabriel', Date'2022-10-11 ', 6400, 405, 586);
Sett inn bestillinger (id, kunde, ordre_date, produkt_id, mengde, pris)
Verdier (4, 'Beatriz', Date'2022-10-11 ', 5800, 55, 550);
Sett inn bestillinger (id, kunde, ordre_date, produkt_id, mengde, pris)
Verdier (5, 'Beatriz', Date'2022-10-12 ', 4506, 46, 700);
Sett inn bestillinger (id, kunde, ordre_date, produkt_id, mengde, pris)
Verdier (6, 'Gabriel', Date'2022-10-11 ', 9001, 450, 5600);

Det resulterende tabellen er som vist:

Eksempel 1 - Oracle Alter -kolonnen for å tillate nullverdier

Følgende eksempel viser hvordan du bruker kommandoen Alter Table Modify for å endre støtten for nullverdier:

ALTER TABLE BESTILLINGER ENDRE KUNDE VARCHAR2 (50);

I dette tilfellet bør spørringen ovenfor oppdatere kundekolonnen og tillate muligheten til å legge til nullverdier.

Som demonstrert nedenfor, kan vi også utføre polaren motsatt og forhindre at en kolonne aksepterer nullverdier.

ALTER TABLE BESTILLINGER ENDRE PRODUKT_ID NUMMER IKKE NULL;

I dette tilfellet ber vi Oracle for å forhindre nullverdier i Product_ID -kolonnen.

Eksempel 2 - Oracle Alter Table Modify Column Synsity

Siden Oracle 12c, kan vi definere en kolonne som synlig eller usynlig. Usynlige kolonner er ikke tilgjengelige for spørsmål som SELECT *, Beskriv tabellnavn osv.

For å gjøre en kolonne usynlig ved hjelp av kommandoen Alter Table Modify, kan vi utføre:

ALTER TABLE BESTILLINGER Endre pris usynlige;

Dette bør endre synligheten til priskolonnen. Vi kan demonstrere dette ved å velge alle kolonnene i tabellen:

Velg * fra bestillinger;

Som du kan gjette, vises ikke priskolonnen i resultatet:

For å tilbakestille kolonnens synlighet, kjør kommandoen:

Endre tabellbestillinger endre pris synlig;

Eksempel 3 - Oracle Alter Table Oppdater kolonnenes standardverdi

La oss legge til en ny kolonne med en standardverdi som vist i spørringen nedenfor:

Alter tabellordrer Legg til tilgjengelighetsnummer (1,0) standard 0;

I dette eksemplet bør kommandoen ovenfor legge til en ny kolonne som kalles tilgjengelighet med binære verdier. Den inneholder også en standardverdi på 0.

Hvis vi velger verdiene fra tabellen:

Velg * fra bestillinger;

Tilgjengelighetskolonnen er befolket med nuller som standardverdi.

For å endre standardverdien med kommandoen Alter Table Endre, kjør: Kjør:
ALTER TABLE -ordrer Endre tilgjengelighetsnummer (1,0) Standard 1;

Eksempel 4 - Oracle Alter Table Endre kolonnestørrelse

Vi kan utvide eller krympe størrelsen på en gitt kolonne som vist i eksemplet nedenfor:

ALTER TABLE BESTILLINGER ENDRE KUNDE VARCHAR2 (100);

I dette tilfellet bør spørringen ovenfor utvide størrelsen på kundekolonnen. Du kan angi en mindre verdi for å krympe størrelsen på en kolonne.

Merk at det er bra å huske på at å endre en eksisterende kolonne hovedsakelig vil påvirke nye verdier. Endringene gjelder kanskje ikke allerede eksisterende data.

Konklusjon

I denne artikkelen oppdaget du bruken av Alter -tabellen Modify -kommandoen for å endre forskjellige egenskaper til en eksisterende tabellkolonne i Oracle -databaser.