Slipp skjema postgres

Slipp skjema postgres
I denne artikkelen vil vi diskutere sletting av skjemaet fra databasen vår. Databaseskjemaer er en gruppe objekter av databaser som inneholder nesten alle elementer som databasen skal ha, som triggere, funksjoner, tabeller og forhåndsdefinerte prosedyrer. I PostgreSQL er det bare eieren eller superbrukeren som kan fjerne et skjema. Det er flere sjekkpunkter som vi må gjennomgå når vi sletter et skjema; Disse sjekkene vil bli diskutert videre i denne artikkelen.

Syntaks for drop -skjema i PostgreSql

I PostgreSQL bruker vi følgende spørsmål for å slippe et skjema:

Slipp skjema [hvis eksisterer] name_of_schema
[Kaskade eller begrense];

Som du kan se, starter kommandoen med nøkkelordet til "slipp" som brukes i postgres for å slette, og så bruker vi nøkkelordet "skjema" som antyder å slette et skjema. Deretter blir spørringen fulgt av kommandoen “If Exist”, som vil se etter skjemaet i databasen. Etter denne sjekken vil vi skrive navnet på skjemaet vi lagret det i databasen vår. Så vil vi gå videre til et annet sett med sjekker som er "kaskaden" og "begrense".

Kommandoen "Cascade" refererer til å slette alle objektene som et skjema holder, mens "Begrens" -kommandoen hindrer brukeren i å slette et skjema som har noen databaseobjekter som tabeller eller visninger. Denne kommandoen har også brukerorienterte privilegier, som bare betyr at den autoriserte brukeren kan få tilgang til funksjonaliteten til denne kommandoen.

Slipper et skjema i PostgreSQL

Siden vi er kjent med syntaks og bruk av “Drop Schema” -kommandoen, vil vi implementere dette i PostgreSQL -miljøet. Først vil vi lage noen skjemaer i databasen vår for å slette dem senere. For å bygge et skjema i databasen din, åpner du PGADMIN -vinduet og skriver følgende kommando i spørringsredigereren:

>> Lag skjema S1;

Utfør ovenstående for å få dette resultatet vist nedenfor:

En annen måte å lage et skjema på er å finne skjemalternativet til databasen din og velge alternativet "Opprett".

Ved å høyreklikke på "Create" og deretter "skjemaet ..." -alternativene som er til stede på nettlesermenyen på venstre side av vinduet.

Vi bygger en tabell i vår database for skjemaet ”S1” etter at vi har laget skjemaet. Vi bruker den vedlagte spørringen for å legge til en tabell i skjemaet vårt:

>> Lag tabell S1.bord(
Id int ikke null,
Navn varchar ikke null
);

Etter dette legger vi også noen verdier i tabellen.

>> sett inn i S1.Tabellverdier
(01, 'Russel'),
(02, 'Alan'),
(03, 'Tim'),
(04, 'David'),
(05, 'Jason');
Velg * fra S1.bord;

Etter å ha satt inn verdier i skjemaets tabell, vil vi gå mot å slette skjemaet vårt fra databasen.

Som vi vet at syntaks for drop -skjema i PostgreSQL har forskjellige kontroller, slik at vi kan implementere dette på flere måter. Disse metodene er oppgitt nedenfor:

  1. Drop Schema -spørringen uten "Hvis eksisterer", "Cascade" og "Begrens" -kommandoer.
  2. Drop Schema -spørringen uten "kaskade" og "begrenser" kommandoer.
  3. Drop Schema -spørringen uten "hvis eksisterer" og "Begrens" -kommandoer.
  4. Drop Schema -spørringen med "Hvis eksisterer" og "Begrens" -kommandoer.
  5. Drop Schema -spørringen med “If Exist” og “Cascade” -kommandoer.

Drop Schema -spørringen uten "Hvis eksisterer", "Cascade" og "Begrens" -kommandoer

I denne spørringen vil vi skrive et veldig enkelt spørsmål for å slette et skjema uten sjekker i PostgreSQL -miljøet. Vi vil prøve å slette både skjemaene “S1” og “S2” med denne kommandoen og se resultatet.

>> Drop Schema S2;

Utgangen er vedlagt her.

Kjør nå denne spørringen.

>> Drop Schema S1;

Skjemaet “S2” ble slettet med denne kommandoen, men “S2” -skjemaet kunne ikke slettes fordi det hadde andre avhengigheter festet til det, det vil si at tabellen som vi la til før. Så denne kommandoen kan bare slette tomme skjemaer.

Drop Schema -spørringen uten "kaskade" og "begrenser" kommandoer

I denne spørringen for å slette et skjema, vil vi bare bruke kommandoen “hvis eksisterer”, som på forhånd vil sjekke om skjemaet eksisterer eller ikke. Vi bruker følgende spørring for å utføre denne oppgaven:

>> slippskjema hvis det eksisterer S2;

Utgangen er vedlagt her.

Kjør nå denne spørringen.

>> slippskjema hvis det eksisterer S1;

Som utdataene indikerer, er denne kommandoen bare egnet for et tomt skjema, for eksempel "S2" -skjemaet, som ble slettet, men "S1" -skjemaet, som hadde et tabell, kunne ikke slippes fordi vi ikke spesifiserte kompilatoren for å kaskadere skjemaene.

Drop Schema -spørringen uten "hvis eksisterer" og "Begrens" -kommandoer

I denne spørringen vil vi legge til "Cascade" nøkkelordet til den første spørringen som vi brukte uten "hvis eksisterer" -sjekken. Vi skal henvise til spørringen som er angitt nedenfor:

>> slipp skjema S2
Kaskade;

Utgangen er vedlagt nedenfor.

Kjør nå følgende listede spørsmål.

>> slipp skjema S1
Kaskade;

Bruke "kaskaden" -begrepet i denne spørringen instruerer spørringen om å slette skjemaet uavhengig av hva det inneholder. Dermed klarte vi å slette begge skjemaene, den ene som var tom og den andre som hadde et bord i den.

Drop Schema -spørringen med "Hvis eksisterer" og "Begrens" -kommandoer

Når vi bruker nøkkelordet "kaskade" i spørringen vår, instruerer vi det til å slette skjemaet uavhengig av hva det inneholder. Vi følger følgende spørsmål for denne metoden:

>> slippskjema hvis det eksisterer S2
BEGRENSE;

Utgangen er festet i det festede bildet.

Kjør nå den uttalte spørringen.

>> slippskjema hvis det eksisterer S1
BEGRENSE;

Utgangen antyder at vi har vært i stand til å slette det tomme skjemaet, mens skjemaet “S1” som hadde en tabell i det ikke kunne slettes.

Drop Schema -spørringen med “If Exist” og “Cascade” -kommandoer

Nå skal vi prøve å slette begge skjemaene ved å kjøre "drop schema" -spørsmålet med både "If Exist" og "Cascade" -nøkkelord.

>> slippskjema hvis det eksisterer S2
Kaskade;

Bildet er vedlagt som gjenspeiler utgangen.

Utfør nå den vedlagte spørringen.

>> slippskjema hvis det eksisterer S1
Kaskade;

Fordi vi brukte nøkkelordet "Cascade" i denne spørringen, kunne vi slette begge skjemaene med hell. Denne spørringen med begge sjekker anbefales på det sterkeste fordi "Begrensning" nøkkelordet er til stede som standard, og du kan slette både tomme og ikke-tomme skjemaer med denne spørringen.

Konklusjon

I denne artikkelen har vi lært om de forskjellige metodene for å slette et skjema fra databasen vår i PostgreSQL -miljøet. Først utdypet vi konseptet med skjemaer og deres bruk i postgres i kort detalj, og senere flyttet vi mot implementeringen. Syntaksen til kommandoen “Drop Schema” ble også diskutert i denne artikkelen. Deretter ble de forskjellige metodene for å slette et skjema utdypet og implementert i PostgreSQL -miljøet.