Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Slette fra DB | Sqlalchemy
Databaser i Python

bookSlette fra DB

I dette kapittelet skal vi se på hvordan man sletter poster fra en database ved hjelp av SQLAlchemy. Sletting av poster er viktig ved håndtering av data, spesielt når man skal fjerne utdaterte eller unødvendige oppføringer. SQLAlchemy tilbyr enkle, men kraftige verktøy for å håndtere slettinger, både for enkeltposter og masseoperasjoner.

Slette en enkelt post etter ID

Den vanligste måten å slette en post på er å identifisere den gjennom et spesifikt kriterium, som for eksempel ID. Her ser vi hvordan man kan slette et produkt ved hjelp av dets ID.

product = session.query(Product).filter(Product.id == 1).first()

# Check if the product exists
if product:
    # Delete the product
    session.delete(product)
    session.commit()

Koden henter et produkt med ID 1, verifiserer at det eksisterer, markerer det for sletting med session.delete(product), og gjennomfører endringen med session.commit().

Slette flere poster

Noen ganger er det nødvendig å slette flere poster samtidig basert på bestemte betingelser. Dette er nyttig for oppgaver som å fjerne utsolgte varer eller produkter under en pristerske.

session.query(Product).filter(Product.is_in_stock == False).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Spørringen filtrerer ut produkter som er utsolgt, sletter dem med .delete(synchronize_session="fetch"), og sørger for at økten forblir synkronisert med databasen.

Masse-slettinger

For store datasett er masse-slettinger effektive. Denne metoden endrer databaseposter direkte uten å laste dem inn i minnet, noe som sparer tid og ressurser.

session.query(Product).filter(Product.price < 100).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Dette eksempelet filtrerer produkter med pris under $100 og fjerner dem med .delete()-metoden, noe som gir en rask og ressursbesparende løsning for store tabeller.

Slette alle poster i en tabell

Når det er behov for å tømme en tabell fullstendig, gjør SQLAlchemy dette enkelt med én spørring.

session.query(Product).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Metoden .delete(synchronize_session="fetch") fjerner alle poster fra Product-tabellen, noe som er nyttig for å tilbakestille data eller tømme testmiljøer.

Oppgave

Swipe to start coding

Din oppgave er å fullføre koden ved å skrive de nøyaktige linjene som trengs for å slette produktet med navnet "Headphones" fra databasen.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 8
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain what `synchronize_session="fetch"` does in the delete method?

What happens if I try to delete a record that doesn't exist?

Are there any risks or best practices to consider when performing bulk deletions?

close

Awesome!

Completion rate improved to 4.76

bookSlette fra DB

Sveip for å vise menyen

I dette kapittelet skal vi se på hvordan man sletter poster fra en database ved hjelp av SQLAlchemy. Sletting av poster er viktig ved håndtering av data, spesielt når man skal fjerne utdaterte eller unødvendige oppføringer. SQLAlchemy tilbyr enkle, men kraftige verktøy for å håndtere slettinger, både for enkeltposter og masseoperasjoner.

Slette en enkelt post etter ID

Den vanligste måten å slette en post på er å identifisere den gjennom et spesifikt kriterium, som for eksempel ID. Her ser vi hvordan man kan slette et produkt ved hjelp av dets ID.

product = session.query(Product).filter(Product.id == 1).first()

# Check if the product exists
if product:
    # Delete the product
    session.delete(product)
    session.commit()

Koden henter et produkt med ID 1, verifiserer at det eksisterer, markerer det for sletting med session.delete(product), og gjennomfører endringen med session.commit().

Slette flere poster

Noen ganger er det nødvendig å slette flere poster samtidig basert på bestemte betingelser. Dette er nyttig for oppgaver som å fjerne utsolgte varer eller produkter under en pristerske.

session.query(Product).filter(Product.is_in_stock == False).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Spørringen filtrerer ut produkter som er utsolgt, sletter dem med .delete(synchronize_session="fetch"), og sørger for at økten forblir synkronisert med databasen.

Masse-slettinger

For store datasett er masse-slettinger effektive. Denne metoden endrer databaseposter direkte uten å laste dem inn i minnet, noe som sparer tid og ressurser.

session.query(Product).filter(Product.price < 100).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Dette eksempelet filtrerer produkter med pris under $100 og fjerner dem med .delete()-metoden, noe som gir en rask og ressursbesparende løsning for store tabeller.

Slette alle poster i en tabell

Når det er behov for å tømme en tabell fullstendig, gjør SQLAlchemy dette enkelt med én spørring.

session.query(Product).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Metoden .delete(synchronize_session="fetch") fjerner alle poster fra Product-tabellen, noe som er nyttig for å tilbakestille data eller tømme testmiljøer.

Oppgave

Swipe to start coding

Din oppgave er å fullføre koden ved å skrive de nøyaktige linjene som trengs for å slette produktet med navnet "Headphones" fra databasen.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 8
single

single

some-alt