martedì 6 marzo 2018

MYSQL: query tra database diversi

Se hai alberato la struttura dei tuoi dati in database diversi, devi sapere che in mysql è possibile compiere query multidatabase, ovvero tra un database ed un altro.
Mettiamo ad esempio di avere tutto un elenco di nominativi dentro una tabella in un database specifico, e di avere invece i corrispettivi indirizzi in un'altra tabella, ma in un diverso database, ecco che sapere la giusta sintassi per agganciare questi due db può sicuramente fare la differenza in termini di semplicità di query, ma anche di prestazioni.

Vediamo dunque come pescare dati da tabelle su database diversi con mysql.


Come fare query tra database diversi in mysql


Per poter legare i dati presenti in tabelle su database diversi, ecco la sintassi da utilizzare in mysql:

SELECT t1.campo,t2.campo FROM database1.tabella1 AS t1, database2,tabella2 AS t2

La sintassi dunque per poter pescare i dati da un database ad un altro, è semplicemente: database.nometabella.
Tra l'altro, visto che già ci troviamo sul primo database, non è necessario richiamare la tabella con il prefisso del db in cui ci si trova, ma si può farlo solo per collegarsi al secondo db.

Per facilitare le query, o per meglio dire, per renderle meno lunghe, è molto utile dare un'abbreviazione alle tabelle usate, con il comando AS nomecorto.
Quest'abbreviazione può essere usata sia nella select, ma anche e soprattutto nella WHERE dove vengono inserite le condizioni necessarie per legare le due tabelle.

Bene, ora sai come fare select su database diversi in mysql.
Ovviamente, un filino tutto ciò influisce sulle prestazioni, rispetto ad avere le tabelle già nello stesso db, ma parliamo veramente di una manciata di millisecondi.

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon