Postata in: 'Elencare le tabelle non vuote di un database'

Federico Di Sutta

Devi fare una query SELECT su 'information_schema' in questo modo:SELECT * FROM `information_schema`.`TABLES` WHERE `TABLE_ROWS` > 0essa ritornerà la lista delle tabelle non vuote.

Pubblica
05-05-2019 15:37:22 0

Postata in: 'Select random data con una query nidificata (subquery)'

Giacomo Barrile

La seguente query dovrebbe andar bene per fare quello che chiedi:SELECT * FROM( SELECT * FROM My_Table WHERE some_conditions LIMIT 1000) AS Alias_NameORDER BY RAND()LIMIT 4;dove ovviamente quella tra parentesi è una subquery o query annidata se preferisci. 

Pubblica
04-05-2019 09:38:06 0

Postata in: 'Come misurare queries per second (QPS)?'

Michele Brughese

Un modo per misurare l'efficienza delle queries sql, potrebbe essere quella di creare un job che venga richiamato in maniera candenzata ed esegua il comando:SHOW STATUSPoi con uno script si potrebbe calcolare la differenza tra le chiamate successive a SHOW STATUS e dividerle per il numero di secondi tra le misurazioni per ottenere le query al secon

Pubblica
03-05-2019 10:52:50 0

Postata in: 'Creare un file di log per un database MySql'

Federico Di Sutta

Non devi creare alcun file di log, esistono già una varietà di files di log MySql, quello degli errori, quello per le connessioni, il log per le modifiche ai records (Binary log), c'è persino il 'Slow query log' un registro che archivia le query che sono risultate più lente del normale. Trovi tutti i riferimenti ai

Pubblica
03-05-2019 10:34:14 +1

Postata in: 'Cancellare tutte le tabelle di un database mysql'

Michele Brughese

Puoi eseguire la query DROP database, questa cancellerà (drops) tutte le tabelle in esso presenti; attenzione però che detto statement cancella in maniera permanente anche il database, quindi se il tuo intento è solo quello di 'svuotarlo' delle sue tabelle, devi ricreare il database subito dopo. La sintassi esatta è

Pubblica
02-05-2019 11:45:43 0

Postata in: 'Selezionare il valore più grande di una riga'

Giacomo Barrile

Certo che SI, esiste la funzione GREATEST, la quale accetta due o più argomenti in ingresso, e ritorna il più grande di esso. Inoltre essa funziona su tipi di dati differenti, e se i valori passati sono NULL ritornerà essa stessa NULL. Prelevato in toto dalla documentazione ufficiale MySql, ti mostro un esempio del funzion

Pubblica
02-05-2019 11:05:16 0

Postata in: 'Memorizzare codice html e php in un database'

Giacomo Barrile

Per memorizzare del codice all'interno del db e capire quale tipo di dato è più adatto a questa operazione di insert, devi capire o devi dirci cosa essattamente vuoi memorizzare! Se intendi archiviare il codice (ad es. php) in chiaro, allora ti consiglio di usare il tipo TEXT, se invece (come suppongo) la tua intenzione è

Pubblica
30-04-2019 18:31:47 +1

Postata in: 'Cancellare tutti i records duplicati'

Michele Ladonia

Benissimo Giacomo Barrile, la tua è un'ottima soluzione, ma io ho bisogno di cancellare le rows duplicati di una tabella con records già esistenti, alterando la tabella come tu dici cosa accade?

Pubblica
29-04-2019 16:52:08 0

Postata in: 'Cancellare tutti i records duplicati'

Giacomo Barrile

Anziché impelegarti in complicate e perigliose query e subquery DELETE, il modo migliore e più semplice per ottenere quello che cerchi, ovvero evitare che si creiino rows duplicate è quello di creare un indice unico (UNIQUE INDEX) sui campi (colonne) che ti interessano restino unici, nel tuo caso il solo campo nome; ti basta mo

Pubblica
29-04-2019 16:45:19 +1

Postata in: 'Come scrivere una query sql che restituisca solo gli ultimi 10 records'

Giorgio Borelli

Aggiungo a quanto già risposto che probabilmente tu abbia implementato anche una relazione 1 a n tra la tabella che rappresenta il post del blog ed i commenti ad esso associati, sarebbe più opportuno scrivere una query che sfrutti tale relazione tramite un semplice JOIN, oppure ancora più banalmente passare l'id (identificativo

Pubblica
29-04-2019 16:25:43 0

Postata in: 'Come scrivere una query sql che restituisca solo gli ultimi 10 records'

Michele Brughese

Supponendo che la tabella si chiami Comments, la query che cerchi di eseguire è molto semplice, per ritornare solo gli ultimi 10 records di una tabella, in MySql ti basta usare l'operatore LIMIT in questo modo:SELECT * FROM Comments ORDER BY date DESC LIMIT 10e li ordini con ORDER BY per il campo date in maniera decrescente (DESC), semplice

Pubblica
29-04-2019 16:16:50 0

Postata in: 'Lock table in MySql'

Giacomo Barrile

Il blocco per evitare accessi simultaneei al database si può fare o a livello di tabella, in questo caso si parla di lock table oppure a livello di riga ed allora si parla di lock row. Ti linko un ottimo ed approfondito esempio di quando e come usare il lock in MySql.

Pubblica
11-04-2019 22:22:30 0

Postata in: 'Come mostrare gli indici di una tabella'

Michele Ladonia

In aggiunta a quanto risposto precedentemente, se hai più database e per elencare gli indici di una tabella devi riferirti ad uno specifico db, basta indicarlo come nella seguente istruzione sql:SHOW INDEX FROM mytable FROM mydb;oppure nella forma sql più compatta:SHOW INDEX FROM mydb.mytable;ovviamente ottieni lo stesso identico risu

Pubblica
10-04-2019 22:13:02 0

Postata in: 'Come usare mysqli_real_escape_string()?'

Michele Brughese

Penso che una soluzione più semplice sia settare a runtime il file php.ini con magic quotes a zero 0 (falso, disabilitato) nel tuo script, basta scrivere:ini_set('magic_quotes_runtime', '0');è bene precisare che la magic_quotes_gpc è una direttiva separata che si applica solo agli array globali GET / POST / COOKIE.La funzione i

Pubblica
08-04-2019 22:30:30 0

Postata in: 'Come usare mysqli_real_escape_string()?'

Michele Ladonia

Sicuramente il file php.ini sul tuo server remoto ha magic_quotes abilitato. Puoi verificarlo eseguendo la semplice istruzione:echo var_dump(get_magic_quotes_gpc()); //Ritorna TRUE (vero) se è abilitatoDisabilita magic_quotes sul server per ottenere un comportamento a livello globale, oppure usa di volta in volta le funzioni di abilitazione

Pubblica
08-04-2019 22:24:00 +1

Postata in: 'Cos'è il Modello ad Oggetti dei Database'

Alfonso Scifella

Onestamente non ci ho capito molto della tua spiegazione, e no non volevo sapere la differenza tra tabelle ed oggetti, ma piuttosto qual'è la differenza tra il modello dei database relazionali e quello ad oggetti, ed in particolare cosè il modello ad oggetti delle basi di dati (database).

Pubblica
07-04-2019 16:11:30 0

Postata in: 'Cos'è il Modello ad Oggetti dei Database'

Giacomo Barrile

Quindi la tua domanda è: qual è la differenza tra oggetti e tabelle? Una tabella è composta da righe e colonne (o da record e campi se preferisci). Un oggetto è costituito da dati e metodi. Una tabella ha spesso la chiave primaria come una delle sue colonne (o più colonne) per identificare in maniera univoca

Pubblica
07-04-2019 16:07:40 +1

Postata in: 'Select e Update in una sola query SQL'

Michele Ladonia

Usa la clausola WHERE nella tua query UPDATE ed otterrai direttamente il risultato desiderato senza bisogno di fare prima la SELECT, in questo modo:UPDATE my_tableSET column_id = column_id + 1WHERE column_id = valueCosì non c'è bisogno di fare un'unica query SELECT e UPDATE, semplice no!

Pubblica
06-04-2019 10:36:04 0