programmeren

in python

Jaar 3 - Module 2 - Les 8: Select queries & eindopdracht

vandaag gaan we...

 

  • De eindopdracht sql bespreken

  • Leren hoe je een select query gebruikt in Python

De database opdracht

  • Gebruik, in principe, dezelfde klant en data

De database opdracht

  • Gebruik, in principe, dezelfde klant en data
  • Bekijk je eind-Excelsheet en maak een verslag:
    • Hoe zou je deze tabellen en formules omzetten naar een database?
    • Welke Excel-dingen kun je nog niet in databases?
    • Zet dan de Excelsheet om naar een sql database

De database opdracht

  • Gebruik, in principe, dezelfde klant en data
  • Bekijk je eind-Excelsheet en maak een verslag:
    • Hoe zou je deze tabellen en formules omzetten naar een database?
    • Welke Excel-dingen kun je nog niet in databases?
    • Zet dan de Excelsheet om naar een sql database
  • Denk na wat voor gegevens je zou willen invoeren in de database
    • Welke gegevens staan er al in?
    • Welke gegevens zouden nog toegevoegd kunnen worden?
    • Maak met Python een interface om dit in te voeren

Fase 1 - Deadline 18 januari

  • Gebruik, in principe, dezelfde klant en data
  • Bekijk je eind-Excelsheet en maak een verslag:
    • Hoe zou je deze tabellen en formules omzetten naar een database?
    • Welke Excel-dingen kun je nog niet in databases?
    • Zet dan de Excelsheet om naar een sql database in repl

De opdracht - Fases

Fase 2 - Deadline 7 februari

 

Denk na wat voor gegevens je zou willen invoeren in de database

  • Welke gegevens staan er al in?
  • Welke gegevens zouden nog toegevoegd kunnen worden?
  • Maak met Python een interface om dit in te voeren

De opdracht - Fases

vandaag gaan we...

 

  • De eindopdracht sql bespreken

  • Leren hoe je een select query gebruikt in Python

vandaag gaan we...

 

  • De eindopdracht sql bespreken

  • Leren hoe je een select query gebruikt in Python

We weten nu hoe we in Python een database kunnen benaderen.

database & Python

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""

cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()

We weten nu hoe we in Python een database kunnen benaderen.

database & Python

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""

cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()

Maar... we hebben alleen INSERT INTO en CREATE gezien!

We weten nu hoe we in Python een database kunnen benaderen.

database & Python

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
SELECT FROM personen"""


cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()

Hoe zit dat met een SELECT?

Hoe is een SELECT anders dan een INSERT of CREATE?

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Weet heeft er een idee?

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Een SELECT geeft een resultaat terug! 

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Een SELECT geeft een resultaat terug! Net als een functie in Python.

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Een SELECT geeft een resultaat terug! Net als een functie in Python.

SELECT query & Python

def zeg_hallo(naam):
    return 'Hallo '+ naam
    
print(zeg_hallo('Mr. Ataman'))

SELECT query & Python

Als je een SELECT in Python gebruikt, dan moet je iets met het resultaat doen!

SELECT query & Python

Als je een SELECT in Python gebruikt, dan moet je iets met het resultaat doen!

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
SELECT FROM personen"""


cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""

cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()

Alleen de query uitvoeren zoals bij INSERT INTO

SELECT query & Python

Als je een SELECT in Python gebruikt, dan moet je iets met het resultaat doen!

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
SELECT FROM personen"""


cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()

Alleen de query uitvoeren zoals bij INSERT INTO,

werkt wel... maar doet niks!

demo

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Kennen we al!

}

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Nu een SELECT

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Kennen we ook al!

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Deze code is nieuw

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Deze code is nieuw

"fetchall" betekent haal ze allemaal op

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

personen is een lijst met alle personen in de database

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

personen is een lijst met alle personen in de database

Dus kunnen we de lengte opvragen

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

personen is een lijst met alle personen in de database

Of over de lijst heen 'loopen'

demo

tips vooraf!!!

Lever je code pas in als je hebt gezien wat de uitkomst is en die hebt gecontroleerd.

 

Zodadelijk in repl.it

opdrachten in repl.it

opdrachten in repl.it

opdrachten in repl.it

opdrachten in repl.it

opdrachten in repl.it

  • Verplicht zijn de opdrachten van les 8 (01 t/m 02)
  • Ben je klaar?
    • Begin aan je databaseopdracht!
      • Bekijk je Excelsheet en schrijf op wat je kan omzetten!
    • Nog meer tijd over?
      • De extra opdrachten van de andere lessen kun je ook nog maken!
  • Deadline: dinsdag 20:00

 

opdrachten in repl.it

  • Bij extra opdrachten staat een (X)
  • Dit zijn de regels:
    • Opdrachten zonder (X) zijn verplicht, die maak je allemaal.
    • Opdachten zonder (X) niet af in de les? Dan is het huiswerk
    • Die tellen mee voor je inzet.
  • Klaar met de opdrachten zonder (X) in de les? Dan ga je door met die met een (X)

 

  • Samenwerken:
    • Overleggen mag
    • Antwoorden voorzeggen NIET
    • Overtypen/multiplayer ook NIET
  • Deadline dinsdag om 19:59

opdrachten in repl.it

Antwoorden 07-01

Antwoorden 07-02

Python Klas 3 - Module 2 - Les 8

By Ebbens

Python Klas 3 - Module 2 - Les 8

Leerdoel Module: werken met databases. Lesdoel: Meer info over bedrijfsopdracht

  • 371