H3: INSERTS

INSERT Queries
WDV-III en DBS-I
Les H3 / Week 2
1 / 29
volgende
Slide 1: Tekstslide
ICTMBOStudiejaar 1

In deze les zitten 29 slides, met interactieve quizzen en tekstslides.

Onderdelen in deze les

INSERT Queries
WDV-III en DBS-I
Les H3 / Week 2

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Tabellen en SELECT

  • Basis tabel aanmaken via paneel
  • Basis data invoeren via paneel
  • Kolom datatypen: int, float, datetime, varchar
  • Kolom eigenschappen: A_I, NULL, PRIMARY KEY
  • Data ophalen uit tabel met SELECT.

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Even terugblikken op H2:
  • SELECT * FROM ... of SELECT kolom FROM ....
  • > of >=
  • WHERE ..... AND / OR
  • ASC/DESC
  • ORDER BY 

Slide 3 - Tekstslide

Deze slide heeft geen instructies

Resultaat:




id
studentnummer
toets
toetsresultaat
1
234234
WIN
5
2
208978
WIN
7
3
289474
WEB
8

Slide 4 - Tekstslide

Deze tabel even overnemen op een whitebord. Dat maakt terugverwijzen naar de gehele inhoud tabel makkelijker.
Resultaat:
id
studentnummer
toets
toetsresultaat
2
208978
WIN
7
3
289474
WEB
8

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Resultaat:
id
studentnummer
toets
toetsresultaat
3
289474
WEB
8
2
208978
WIN
7
1
234234
WIN
5
DESC is een optioneel keyword wat we aan het einde van een ORDER BY kunnen plakken.

Standaard is de sortering ASC (ascending, oftewel oplopend), maar we kunnen DESC (descending, oftewel aflopend) specificeren.

Je mag ook ASC meegeven, maar dat is al standaard.

Slide 6 - Tekstslide

Deze slide heeft geen instructies

SELECT oefenen
We schrijven zo voor de volgende vragen een SELECT query voor onze achtbaan tabel.

Stuur als antwoord je query in, maar test hem natuurlijk in phpMyAdmin.

Als je het antwoord niet weet, lever je in wat je hebt.

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Geef de naam van iedereen die korter is dan 1.50m

Slide 8 - Open vraag

Deze slide heeft geen instructies

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Geef de naam van iedereen die geen lengte heeft ingevuld

Slide 10 - Open vraag

Deze slide heeft geen instructies

Slide 11 - Tekstslide

Deze slide heeft geen instructies

Geef de naam van iedereen die wel een lengte heeft ingevuld

Slide 12 - Open vraag

Deze slide heeft geen instructies

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Geef de naam van iedereen die korter is dan 1.50m of langer dan 2m

Slide 14 - Open vraag

Deze slide heeft geen instructies

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Doelen van vandaag
  • Je kunt een insert-query schrijven en uitvoeren met alleen de nodige kolommen.
  • Je kunt een rij toevoegen aan je tabel met een insert-query.
  • Je weet dat je kolommen die auto_incrementing of nullable zijn weg kunt laten 

Slide 16 - Tekstslide

Deze slide heeft geen instructies

Insert
Insert, letterlijk "invoeren" of "invoegen".
Voorheen stopte we data in onze tabel via phpMyAdmin, maar dat is uiteindelijk onhandig.

Met INSERT queries schrijven we een kort stukje SQL die een nieuwe rij invoert.

Slide 17 - Tekstslide

Deze slide heeft geen instructies


Stop in tabel, in de aangegeven kolommen, de waarden.

Slide 18 - Tekstslide

Deze slide heeft geen instructies

DATETIME standaard in formaat:
YYYY-MM-DD HH:mm:ss
We hebben dus geen ID gespecificeerd, maar de database wist dus dat we hier 1 willen, omdat deze auto_incrementing is.

Slide 19 - Tekstslide

Deze slide heeft geen instructies

We specificeren hier dus alleen naam en datum van bezoek, en laten id en lengte over aan MySQL.
Auto-incremented ID is nu 2, bij de tweede insert
Omdat lengte nullable is, en we hem niet hebben gespecificeerd, wordt deze kolom dus NULL.

We weten dus niet hoe lang kabouter plop is: misschien schaamt hij zich er voor.

Slide 20 - Tekstslide

Deze slide heeft geen instructies

Slide 21 - Tekstslide

Deze slide heeft geen instructies

Slide 22 - Tekstslide

Deze slide heeft geen instructies


Hoe graag we ook willen; als een kolom niet nullable is, een default value heeft, of auto incrementing is, moeten we een waarde geven voor die kolom.

Slide 23 - Tekstslide

Deze slide heeft geen instructies

Deze tabel heet
`klassen`. Voeg
een rij in (waarden
zelf bedenken).

Slide 24 - Open vraag

Deze slide heeft geen instructies

Hoe voeg ik 'Irene' met beroep 'schaatster' en 0 kinderen toe aan mijn tabel dbs_lestabel met een INSERT-query?


Slide 25 - Open vraag

Deze slide heeft geen instructies

Hoe voeg ik aan mijn tabel 'movie' de dramafilm 'Titanic' vanaf 12 jaar met regisseur 'James Cameron'.

Slide 26 - Open vraag

Deze slide heeft geen instructies

Oefenen!
Gebruik de achtbaan-database die je hebt gemaakt voor je vorige opdracht en schrijf daarvoor minstens 10 insert-queries, om hem te vullen met data. Zorg er voor dat er minstens één NULL waarde voor lengte bij zit, en kies voor de datum uiteenlopende waarden. Laat de IDs bepalen door de auto increment.

Slide 27 - Tekstslide

Echt even herhalen dat het niet de bedoeling is dat ze de data invoegen via de PMA insert, maar door zelf queries te schrijven
Upload een screenshot van je browse-scherm wat je ingevulde data laat zien.

Slide 28 - Open vraag

Deze slide heeft geen instructies

Weekcheck H3: Webshop
  1. Maak een nieuwe database aan en noem deze 'webshop'.
  2. Maak een productentabel voor een webshop. Je mag zelf bedenken welke kolommen er handig zouden zijn voor deze tabel, maar het moet op z'n minst het volgende bevatten:
  • Een automatisch ophogend uniek identificatie-nummer
  • Een nullable kolom
  • Een kolom met een default waarde
  • Een DATETIME kolom
3. Schrijf minstens 10 INSERT queries voor de producttabel die je net hebt gemaakt. Je mag zelf bepalen wat voor webshop je hebt en wat voor producten er dus in zitten. Geef voor ieder product alleen de kolommen op die nodig zijn, dus laat je default waarden en nullable kolommen af en toe oningevuld.
Lever in: screenshots van je structure-scherm, je gevulde tabel en één van je queries.

Slide 29 - Tekstslide

Deze slide heeft geen instructies