Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Zenfone 11 Ultra ha tantissime qualità interessanti, fra cui potenza da vendere, un display di primissimo livello, un comparto audio potente e prestazioni di connettività fra le migliori della categoria. Manca però dell'esclusività del predecessore, che in un settore composto da "padelloni" si distingueva per le sue dimensioni compatte. Abbiamo provato il nuovo flagship ASUS, e in questa recensione vi raccontiamo com'è andata.
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-10-2006, 12:55   #1
akronim
Senior Member
 
L'Avatar di akronim
 
Iscritto dal: May 2001
Città: Roma
Messaggi: 313
aiuto comandi mysql da bash

devo richiamare da bash un file.sql che ha come contenuto i comandi:

"DROP TABLE IF EXISTS articles;
CREATE TABLE `articles` ( ........
........ ecc"

qual'è il modo più corretto per richiamarlo da bash?

mysql -hlocalhost -unome -ppass my_db -e"????????"

----

pensavo di usare LOAD DATAIN FILE ma quanto ho capito serve per caricare i dati in una tabella, quindi tutt'altra funzione
akronim è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2006, 13:48   #2
akronim
Senior Member
 
L'Avatar di akronim
 
Iscritto dal: May 2001
Città: Roma
Messaggi: 313
trovato !!

mysql -hlocalhost -unome -ppass my_db < /path/al/file.sql

semplice no !!!

adesso il problema è fare un ciclo all'interno del file.sh
che mi legga i file in una cartella e per ogni file mi faccia lo stesso comando sql

bho!!!

se volessi rendere variabili il nome del db e il file.sql così andrebbe bene??

DB=my_db
FILE=/path/al/file.sql #lo devo mettere frà virgolette??

mysql -hlocalhost -unome -ppass $DB < $FILE
akronim è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2006, 20:53   #3
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5689
Quote:
Originariamente inviato da akronim
lo devo mettere frà virgolette??

se contiene degli spazi sì, ma è buona norma metterle sempre.
se devi eseguire più file sql puoi anche mettterli tutti in una variabile e ciclare con un "for".
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2006, 21:19   #4
akronim
Senior Member
 
L'Avatar di akronim
 
Iscritto dal: May 2001
Città: Roma
Messaggi: 313
si effettivamente devo eseguire il comando su più files .sql
e per di più devo fare in modo che più file .sql siano inseriti nello stesso db

db1 = a.sql, b.sql, c.sql
db2 = e.sql, f.sql
db3 = h.sql, n.sql

e così via

ho pensato di mettere i file.sql in cartelle separate che si chiamano con il nome del db far leggere i file e farli inserire nel db che ha il nome della cartella.....

.. ma da quì a realizzarlo e tutta un'altra storia
akronim è offline   Rispondi citando il messaggio o parte di esso
Old 17-10-2006, 21:52   #5
akronim
Senior Member
 
L'Avatar di akronim
 
Iscritto dal: May 2001
Città: Roma
Messaggi: 313
più o meno qualcosa del genere

?cerca le cartelle
CARTELLE=array ( nomi cartelle )

for folder = $CARTELLE
do
?leggi i nomi dei file.sql in ogni $folder
FILEDB=array ( file.sql )
for filesql = $FILEDB
do
mysql -hlocalhost -unome -ppass $folder < $filesql
done
done

exit
akronim è offline   Rispondi citando il messaggio o parte di esso
Old 18-10-2006, 08:22   #6
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5689
mettiamo che crei una struttura di direcftory del tipo:

Codice:
DB1/
    file1.sql
    file2.sql
DB2/
    file3.sql
    file4.sql

puoi realizzare quello che vuoi con:


for db in $(ls -d *) ;do for file in $(ls $db) ; do mysql -hlocalhost -unome -ppass $db < $file; done ; done


eseguito nella directory che contiene DB1 e DB2
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 18-10-2006, 16:00   #7
akronim
Senior Member
 
L'Avatar di akronim
 
Iscritto dal: May 2001
Città: Roma
Messaggi: 313
grazie ! funziona alla grande

e se volessi risolvere la cosa con array?
db1= (alfa.sql beta.sql)
db2=(mela.sql pera.sql prugna.sql)

ho letto che bash non supporta array multidimensionali, quindi non posso usare cicli annidati su un unico array
DB= (db1= (alfa.sql beta.sql) db2=(mela.sql pera.sql prugna.sql))

dovrei scrivere i vari arrei in un file;
ma poi come faccio a farlo leggere alla funzione del bash in modo che legga array e non stringhe ??
e che processi riga per riga rispetto alla funzione??
akronim è offline   Rispondi citando il messaggio o parte di esso
Old 18-10-2006, 19:34   #8
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5689
in linea di massima quando posso cerco di evitare gli array con bash, son più una rogna che altro.
io farei così (che non vuol dire che non ci sia una soluzione migliore )

Codice:
listadb="db1 db2"
db1="alfa.sql beta.sql"
db2="mela.sql pera.sql prugna.sql"

for db in $listadb ;do for file in ${!db} ; do mysql -hlocalhost -unome -ppass $db < $file; done; done
anche se hai il difetto di dover aggiornare due variabili ogni volta.
kingv è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone' Recensione Zenfone 11 Ultra: il flagship ASUS ri...
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
eFootball taglia il traguardo dei 750 mi...
MS-DOS 4.0 diventa open source: Microsof...
Micron riceverà 6,1 miliardi di d...
STALKER 2 Heart of Chornobyl: nuovo trai...
Google: ancora un rinvio per lo stop ai ...
Lotus Evija X è la seconda auto elettric...
NIO e Lotus annunciano una grossa novit&...
Esclusive PlayStation su Xbox? Sì...
CATL: una nuova batteria per auto elettr...
TikTok al bando negli USA? Biden firma, ...
Taglio di prezzo di 150 euro per SAMSUNG...
Utenti Amazon Prime: torna a 148€ il min...
Microsoft sfiora i 62 miliardi di dollar...
Coca-Cola al cloud con un pizzico di IA:...
Prodotti TP-Link Tapo in offerta: videoc...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www3v