Mattepuffo Esportare database MySQL in SQLite


Avevo la necessità di replicare la struttura di un database MySQL in SQLite.

Questo db mi serviva per una app, e non avevo voglia di ricreare tutta la struttura.

Girovagando sono incappato in uno script shell che è in grado di fare esattamente questa operazione: MySQL to SQLite converter!

Il suo utilizzo è abbastanza semplice.

Mattepuffo Connessione a MySQL con Java e MyBatis


MyBatis è un framework di persistenza che si "frappone" tra strumenti completi come Hibernate, e l'usare JDBC e scrivere tutto da zero.

In sostanza ci leva alcune operazioni che dovremmo fare usando JDBC, ma ci lascia un pò più di flessibilità rispetto ad Hibernate.

Oggi vediamo un esempio abbastanza completo.

Partiamo dal db; abbiamo un database test, con una tabella utenti con questi campi:

  • id (PK AI)
  • nome
  • cognome
  • email

Tutti campi VARCHAR.

Mattepuffo Passare da MySQL a MariaDB su Debian 8


Dopo che ho visto che in moltissimi forum consigliano il passaggio a MariaDB, mi sono deciso di farlo anche sui miei server con Debian 8.

Inoltre su molte distro è diventato il db di default, e MySQL a volte non è neanche presente.

Su Debian 8 MariaDB è già presente nei repo alla versione 10, cioè l'ultima.

Visto che questa versione rappresenta un punto di svolta, in quanto ha iniziato a prendere una sua strada dal fork iniziale, direi che è anche il momento ultimo più appropriato per farlo.

Mattepuffo Usare le IF in MySQL


Preciso subito che non stiamo parlando delle IF dentro una Stored Procedure o dentro ad una funzione.

Ma parliamo delle IF in una query!

In sostanza, a seconda del valore di un campo, vogliamo stampare un valore piuttosto che un altro.

Possiamo considerarlo l'alterego MySQL della funzione DECODE di Oracle.

Mattepuffo Identificare il prossimo autoindex in una tabella in MySQL


MySQL disponde della funzione LAST_INSERT_ID() che restituisce l'ultimo valore AUTO_INCREMENT inserito nel database.

Ma non fa alcuna distinzione su quale tabella questo valore è stato inserito.

Il che, in uno caso molto specifico, mi creava diversi problemi.