Lezione 13 / 14
apri_db e gomorra
apri_db() apre un database SQLite: è già nella libreria fratm, non serve installare niente. Nel playground il database vive in memoria; con Node si può salvare su un file.
Metti gomorra davanti a una template string e scrivi la query in napoletano (GomorraSQL): ripigliammo … mmiez 'a … è SELECT … FROM …, arò è WHERE, mettimmo in fila pe è ORDER BY. Il compilatore la traduce e ti dice se è sbagliata.
Un valore messo con ${…} passa come parametro, mai dentro il testo della query: così nessuno può farti una SQL injection.
Esercizio
Inserisci una Marinara a 4 euro e stampa solo le pizze che costano meno di 6 euro, dalla più economica: arò prezzo < ${6} mettimmo in fila pe prezzo.
chiamm { apri_db, gomorra } da "fratm"
chist è db = apri_db()
db.esegui(gomorra`facimm 'a tavula pizze (nomme TEXT, prezzo REAL)`)
db.esegui(gomorra`nzipp 'ngoppa pizze nomme, prezzo chist ${"Margherita"}, ${5}`)
db.esegui(gomorra`nzipp 'ngoppa pizze nomme, prezzo chist ${"Diavola"}, ${7}`)
chist è pizze = db.ripiglia(gomorra`ripigliammo nomme, prezzo mmiez 'a pizze`)
pe ogni (chist è pizza dint pizze) {
stamm a dì(`${pizza.nomme}: ${pizza.prezzo} euro`)
}
Quando hai finito, il programma stampa
Marinara: 4 euro
Margherita: 5 euro