Het wijzigen van gegevens gebeurt met het commando UPDATE. De basis syntax is:
Stel dat je de tabel leerlingen wilt aanpassen. Je wilt de achternaam van de leerling met leerlingnummer 120 veranderen naar Arends, dan kan dat ook met SQL: Deze wijziging wordt ingevoerd m.b.v. de query:
Als je de laatste regel weglaat (dus WHERE llnr = 120
) dan worden de achternamen van alle leerlingen gewijzigd in Arends. En dat is natuurlijk niet de bedoeling.
Let er daarom op dat je zoveel mogelijk de unieke waarde (of primairy key), in dit geval dus het llnr
, neemt als voorwaarde voor een enkele rij met UPDATE
.
Als je meerdere kolommen tegelijkertijd wilt wijzigen, dan doe je dat zo:
Stel je dat je de boetes van de leerling met llnr 53 wilt ophogen met 2 euro:
Met INSERT voegen we gegevens toe aan een tabel. De basis syntax is:
Als je een nieuw lid wilt toevoegen aan de tabel leerlingen, dan kan dat met de volgende query:
Als je deze uit laat voeren wordt er een rij aan de tabel leden toegevoegd.
Een andere manier is dit:
Je ziet dat nu de kolomnamen zijn weggelaten en alleen de waarden worden beschreven. Dan moet wel aan elke kolom een waarde worden gegeven, en in de goede volgorde!
Bij de eerste manier hoef je niet elke kolom een waarde te geven.
Bij SQLLite bestaat het commando auto_increment
, dat betekent dat die kolom automatisch met één wordt opgehoogd.
Als de kolom llnr van de tabel leerlingen in SQLLite auto_increment
is, dan heeft het geen zin die kolom zelf een waarde te geven.
Aan een database heb je natuurlijk niks als er geen gegevens in staan. In dit hoofdstuk de commando's op gegevens toe te voegen (insert), aan te passen (update) of te verwijderen (delete),
Het verwijderen van rijen uit een tabel gebeurt met het commando DELETE
. De basis syntax is:
Dit commando verwijdert hele rijen tegelijk, het is dus heel belangrijk om duidelijk aan te geven aan welke voorwaarden de te verwijderen rijen moeten voldoen om niet de verkeerde gegevens te verwijderen. Als je de voorwaarden weg laat dan worden alle rijen uit de tabel verwijderd! Stel dat lidnr 14 haar lidmaatschap van de tennisvereniging heeft opgezegd, dan kan ze uit de tabel worden verwijderd.
De query wordt dan:
Net zoals bij UPDATE
maken we bij de voorwaarden bij DELETE
zoveel mogelijk gebruik van de unieke waarde (of primairy key), hier dus het lidnr.
Zouden we de volgende query gebruiken:
dan zouden alle rijen met de naam 'Jan' worden verwijderd.
We Hebben in het vorige hoofdstuk al even een kleine film database gemaakt. We gaan nu een paar bewerkingen uitvoeren op deze database.
Zet je eigen favoriete film in de database, zet je zelf in de database en geef deze film 5 sterren in de database.
Check je toevoeging en controleer of de id's ook overal kloppen!
Je hebt toch je rating verkeerd ingeschat, pas je rating aan naar 4 sterren.
Achteraf besluit je toch maar om al jou eigen ratings te verwijderen. Dus verwijder deze maar.
Hoe zorg je voor dat al je rating wordt verwijderd uit de database?
Door op persoonid te verwijderen en niet op ratingid
We Hebben in het vorige hoofdstuk al even een kleine film database gemaakt. We gaan nu een paar bewerkingen uitvoeren op deze database.
Zet je eigen favoriete film in de database, zet je zelf in de database en geef deze film 5 sterren in de database.
Check je toevoeging en controleer of de id's ook overal kloppen!
Je hebt toch je rating verkeerd ingeschat, pas je rating aan naar 4 sterren.
Achteraf besluit je toch maar om al jou eigen ratings te verwijderen. Dus verwijder deze maar.
Hoe zorg je voor dat al je rating wordt verwijderd uit de database?