Passa ai contenuti principali

Maria DB - Creare ed usare una Tabella Temporanea




Uno degli strumenti più intriganti dei  database sono le tabelle temporanee.

Un po' come la RAM Disk (vedi How to Use Windows 98 - Volume III) che si cancella quando si spegne o resetta il PC, allo stesso modo questo tipo di tabella si estingue o nel momento in cui chiudiamo la connessione via Web, oppure, se usiamo la consolle, la tabella rimane in funzione finché non usciamo dalla sessione in uso.


Maria DB (o MySQL, ma in generale, sintassi a parte, è usata in tutti database relazionali di tipo SQL) ci può consentire di usare una tabella di questo tipo

Lo scopo di questo tipo di tabella è quello di poter avere dei dati limitati ed operare su di essi senza occupare spazio sul disco

Ad esempio da una tabella enorme prendere solo un gruppo di dati specifico e lavorare su quelli senza cercare all'interno di una tabella più estesa (un classico esempio se ho un database giocatori mondiale (qualche milione di righe) e voglio solo quelli del S.S.C. Napoli per leggerne le caratteristiche, nulla mi vieta di costruire una tabella temporanea e caricare solo i giocatori di quella squadra per operare più velocemente.

Come si costruisce una tabella temporanea in SQL?

 CREATE TEMPORARY TABLE calciatori_limitati 
(
 nome VARCHAR(200)  NULL,
 societa varchar(200) NULL,
 caratteristiche text, NULL
);

A questo punto  nel sistema è stata creata una tabella che accoglierà il nome, società e delle caratteristiche, che per comodità abbiamo messo in formato testo tipo articolo, ma è estendibile come e quanto ci pare.

A questo punto la tabella è creata e funziona con tutti i metodi di una tabella classica.

La fregatura (quindi da usare sempre cum grano salis) è che se la usiamo per il web, quindi abbiamo una funzione che legge i dati che estrae i dati e li porta in PHP, ad esempio, costruzione della tabella, ed inserimento dati deve essere scritto e fatto in singola sessione, sennò non funziona, tipo:

$query1="CREATE TEMPORARY TABLE calciatori_limitati 
(
 nome VARCHAR(200)  NULL,
 societa varchar(200) NULL,
 caratteristiche text, NULL
);

INSERT INTO calciatori_limitati (nome,societa,caratteristiche) 
SELECT nome,societa,caratteristiche FROM calciatori WHERE societa = 'S.S.C. Napoli';

SELECT * FROM calciatori_limitati WHERE 1;";

In questo modo la sessione si chiude alla fine delle apici e quindi i dati restituiti sono la select immagazzinata in $query1 che è possibile elaborare dopo con un ciclo while per l'estrazione dei dati

Se si usa PHPMyAdmin, basta che il testo contenuto tra le apici venga inserito in SQL, che il risultato sarà lo stesso

Se usiamo invece la consolle di MySQL, la tabella rimane in memoria finche o non viene cancellata oppure chiusa la sessione il che consente di lavorare con più calma

Commenti

Post più popolari

Windows 7 - Installare ed usare una stampante sul Print Server GetNet 3 Port 2 USB e 1 LPT

Su una rete di calcolatori (che sia di uso casalingo, Small Office o Medium Office) la perifrica più ricercata è la stampante. In molti casi la soluzione più semplice è quella di collegarla ad un PC che fa da server e da qui condividerla con tutta la rete. Spesso, però, ciò non è fattibile.  Per ovviare al problema esistono delle "scatrolette" che consentono di collegare la periferica ad uno switch o router (a seconda della grandezza della rete) chiamate Print Server. Alcuni Print Server (come quello oggetto del nostro post) possono usare più stampanti. Nel caso specifico il modello della GetNet può usare 1 stampante su Porta Parallela (LPT) e 2 stampanti (non multifunzioni) su porta USB 1.1 GetNet Print Server 1 Parallel e 2 USB Il modello in questione ha in dotazione un CD che dovrebbe essere installato, ma non è compatibile con Windows a 64 bit (che sia XP, Vista, 7 o 8), e da problemi con Windows Vista, 7, 8 Nel caso specifico illustre...

HP Z440 Workstation - Il problema dello spegni ed accendi improvviso ed il reset del BIOS

Chi possiede una Workstation HP Z440 (con processore Xeon) o è incappato o potrebbe incappare in un problema, dalla sera alla mattina che può essere devastante se, da un lato non ci sono state avvisaglie e si sta lavorando a qualche progetto. Scrivo questa nota per me, ma nello spirito del blog , la condivido per chi si trovasse nello stesso problema.

Windows 11 - Trovare il mouse sul monitor con il pulsante CTRL

Capita spesso che ci perdiamo il puntatore del mouse sullo schermo, soprattutto ora che sui PC fissi è abbastanza comune usare 2 o più monitor Questo tipo di programma era, in altri tempi, un add-on dell'Intellimouse di Microsoft (quelli a pallina del secolo e millennio scorso) che, ora, è stato inserito di default nel sistema