Oracle slett fra

Oracle slett fra
Å slette rader fra en databasetabell er en vanlig operasjon for å fjerne en uønsket eller utdatert data. I Oracle -databasen kan vi oppnå dette ved hjelp av sletting fra uttalelsen.

Målet med denne opplæringen er å lede deg gjennom hvordan du bruker slettet fra leddet i Oracle -databaser.

Oracle slett fra uttalelsen

Slett fra leddet lar oss slette en eller flere rader fra en databasetabell i en enkelt kommando.

Uttalelsessyntaksen er som vist i følgende:

Slett fra tabell_navn
Hvor tilstand;

I den medfølgende syntaksen starter vi med å ringe slettet fra nøkkelord etterfulgt av tabellnavnet hvis data vi ønsker å slette.

Deretter bruker vi WHERE -leddet for å spesifisere tilstanden for å fjerne dataene fra tabellen. Hvis du utelater hvor leddet og tilstanden, fjerner den alle dataene fra tabellen.

Oracle slett fra eksempel

La oss lage en grunnleggende tabell som inneholder demo data for demonstrasjonsformål.

Lag tabelldatabaser
(
ID -nummer generert som standard på null som identitet,
Navn varchar2 (50) Ikke null,
Standard_portnummer,
Siste_versjon varchar2 (20) Ikke null,
skriv varchar2 (20) ikke null,
Språk varchar2 (20) Ikke null
);

Når tabellen er initialisert, kan vi legge til noen eksempeldata som vist i følgende innsatser:

Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('Oracle', 1521, '19c', 'relational', 'sql');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('mysql', 3306, '8.0 ',' relasjonell ',' sql ');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('PostgreSql', 5432, '13', 'Relational', 'SQL');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('Mongodb', 27017, '4.4 ',' ikke-relasjonell ',' JavaScript ');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('Microsoft SQL Server', 1433, '2017', 'Relational', 'T-SQL');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('Apache Cassandra', 9042, '4.0 ',' ikke-relasjonell ',' java ');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('Redis', 6379, '6.0 ',' ikke-relasjonell ',' c ++ ');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('MariaDB', 3306, '10.5 ',' relasjonell ',' sql ');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('sqlite', null, '3.34 ',' relational ',' c ');
Sett inn databaser (navn, standard_port, siste_versjon, type, språk)
Verdier ('Neo4j', 7474, '4.1 ',' ikke-relasjonell ',' java ');

Dette skal gi oss en tabell med dataene som vist i følgende:

Eksempel 1: Slett spesifikke rader fra tabellen

Anta at vi ønsker å fjerne alle relasjonsdatabaser fra tabellen. Vi kan bruke et sletting fra uttalelse med en hvor leddet.

Eksempel:

Slett fra databaser
hvor type = 'relasjonell';

Dette bør fjerne alle relasjonsdatabaser fra tabellen som vist i følgende nye tabell:

Som vi kan se, inneholder tabellen fire poster i stedet for 10.

Eksempel 2: Slett kaskade

I de fleste tilfeller må du ofte fjerne dataene fra en tabell med utenlandske nøkler. Ta for eksempel følgende tabeller:

Lag tabellstørrelse_stats (
database_id nummer primærnøkkel,
størrelse_on_disknummer ikke null,
størrelse_komprimert nummer
);

Tabell 2:

Lag tabelldatabaser
(
ID -nummer generert som standard på null som identitet,
Navn varchar2 (50) Ikke null,
Standard_portnummer,
Siste_versjon varchar2 (20) Ikke null,
skriv varchar2 (20) ikke null,
Språk varchar2 (20) Ikke null,
Utenlandsk nøkkel (ID) Referanser Size_Stats (Database_ID) på Delete Cascade
);

I dette tilfellet inneholder databasetabellen en utenlandsk nøkkel som refererer til den primære nøkkelen til størrelse_stats -tabellen. On Delete Cascade forteller databasemotoren å fjerne alle barna -varene når foreldreelementet fjernes fra tabellen.

Eksempel:

Slett fra databaser
hvor id = 3;

Den forrige spørringen fjerner raden der ID = 3 fra databasetabellen.

Hvis vi sjekker tabellen størrelse_stats, ser vi at raden med database_id = 3 også har blitt droppet.

Eksempel 3: Fjern alle rader

For å fjerne alle rader fra en tabell, bruk slett fra leddet uten en der tilstand som vist i det følgende:

Slett fra tabell_navn;

Konklusjon

Du lærte hvordan du sletter en eller flere rader fra en databasetabell ved hjelp av slettet fra leddet i dette innlegget.